在框架的特定区域设置textview

set textview in a specific area of frame

我有一个消息程序,可以在滚动视图内的文本视图中添加一条消息。

我有一个框架用于显示 message.my 问题是文本视图的文本出现在框架上而不是框架的特定区域内,他们有什么方法可以做到这一点。

我的xml代码是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/background_all"
        android:orientation="vertical"
        android:weightSum="100" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_gravity="center"
            android:layout_weight="15"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/imageview"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="15" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="70"
            android:background="@drawable/love_sms_frame"
            android:orientation="vertical"
            android:weightSum="100" >

            <ScrollView
                android:id="@+id/ScrollView01"
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="100"
                android:scrollbarAlwaysDrawVerticalTrack="true" >

                <TextView
                    android:id="@+id/txtDetails"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. In auctor varius ligula quis imperdiet. Cras at arcu eget ligula lacinia aliquam. Donec ultricies neque eu nisl elementum sed luctus leo porta. Nunc gravida molestie sodales. Nam sit amet lacus a odio dictum dignissim. Pellentesque nec tincidunt urna." />
            </ScrollView>

        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="15"
            android:orientation="horizontal"
            android:weightSum="3" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ibPrev"
                    android:layout_width="70dp"
                    android:layout_height="70dp"
                    android:background="@drawable/love_sticker_previous_button"
                    android:gravity="center_vertical" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ibShare"
                    android:layout_width="70dp"
                    android:layout_height="70dp"
                    android:layout_gravity="center_vertical"
                    android:background="@drawable/love_sticker_share_button" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ibNext"
                    android:layout_width="70dp"
                    android:layout_height="70dp"
                    android:background="@drawable/love_sticker_next_button"
                    android:gravity="center_vertical" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

屏幕截图:

请帮我解决这个问题。 任何帮助,将不胜感激。 谢谢

第 1 步:根据屏幕尺寸添加填充值(例如):

  • res/values/dimens.xml

    25dp

  • res/values-large/dimens.xml

    35dp

  • res/values-xlarge/dimens.xml

    50dp

.......

第 2 步:为您的 TextView 添加内边距:

<TextView
         android:id="@+id/txtDetails"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. In auctor varius ligula quis imperdiet. Cras at arcu eget ligula lacinia aliquam. Donec ultricies neque eu nisl elementum sed luctus leo porta. Nunc gravida molestie sodales. Nam sit amet lacus a odio dictum dignissim. Pellentesque nec tincidunt urna."
         android:padding="@dimen/sms_padding" />

您真的应该使用 9-patch 图像作为文本视图的背景。这样您就可以指定图像将被拉伸的位置(最好是在中心)以及文本的放置位置。有关详细信息,请参阅 link。

编辑

因此,只需使用 \res\drawable\heartsframe 中 here which you seem to be using anyway, it in this 文件中的文件即可。9.png

在您的 LinearLayout 中将 android:background="@drawable/love_sms_frame" 替换为 android:background="@drawable/heartsframe",它应该可以正常工作。