不能在一行中的两个文本视图上使用重力

时间:2012-12-17 05:40:02

标签: android android-layout

我使用此代码使我的两个textview具有不同的重力,它们位于同一行。但他们没有 代码:

        <LinearLayout android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <TextView android:text="@string/text_ceo_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:id="@+id/txt_ceo_name"/>
            <TextView android:text="@string/text_ceo_name_title"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:id="@+id/txt_ceo_name_title"/>
        </LinearLayout>

4 个答案:

答案 0 :(得分:2)

它的工作......

    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="10">
        <TextView android:text="me"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="5"
            android:gravity="right"
            android:id="@+id/txt_ceo_name"/>
        <TextView android:text="You"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="5"
            android:gravity="right"
            android:id="@+id/txt_ceo_name_title"/>
    </LinearLayout>

尝试根据需要给予体重。

答案 1 :(得分:1)

在父版面中添加textviews左侧的视图,并使用layout_weight查看3个视图。 像这样:

<LinearLayout android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

           <View android:layout_width="0dip" 
              android:layout_height="wrap_content"
              android:layout_weight="1.0"/>

          <TextView android:text="text_ceo_name"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1.0"
                android:gravity="center"
                android:id="@+id/txt_ceo_name"/>
            <TextView android:text="text_ceo_name_title"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1.0"
                android:gravity="right"
                android:id="@+id/txt_ceo_name_title"/>
</LinearLayout>

这会将一个文本设置为布局的中心,另一个文本设置在布局的右侧。

同样android:gravity会将重力设置为您正在使用的视图的子项。

要将重力设置为布局,请使用android:layout_gravity

答案 2 :(得分:0)

在这种情况下,LinearLayout不会削减它。

使用RelativeLayout。

将一个文本视图对齐到“父级中心”
而另一个文本视图为“与父母的权利对齐”

答案 3 :(得分:0)

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView android:text="@string/text_ceo_name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:id="@+id/txt_ceo_name"/>
        <TextView android:text="@string/text_ceo_name_title"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:id="@+id/txt_ceo_name_title"/>

            </RelativeLayout>

试试这可能会对你有所帮助。您的TextView宽度之一是fill_parent,而其他TextView宽度是wrap_content。也许这就是问题所在。如果有帮助,请接受答案。