Android Layout_Weight为固定宽度不起作用

时间:2014-03-29 00:04:10

标签: android android-layout

我尝试将layout_weight和layout_width与水平方向的线性布局一起使用。线性布局包含1个TextView和2个RadioButtons(在RadioButtonGroup中)。我希望TextView填充RadioButtons左侧的空间,并始终在屏幕上保持RadioButtons右对齐。因此,无论文本量如何,TextView都应占用空间,以便RadioButtons始终是右对齐的。 LinearLayout在ListView中用于在列表中包含多行。

不幸的是,尽管指定了android:layout_width =" 0dp" TextView正在包装内容。和android:weight =" 1"。 RadioButtons没有很好地排列在右边 这是图像

](http://postimg.org/image/549k28f4t/)

这里是LinearLayout的XML。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:orientation="horizontal"
   android:scrollbarAlwaysDrawVerticalTrack="false" >

    <TextView
        android:id="@+id/jokeTextView"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:gravity="center_vertical"/>

    <RadioGroup
        android:id="@+id/ratingRadioGroup"
        android:layout_width="35dp"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:orientation="vertical" >

        <RadioButton
            android:id="@+id/likeButton"
            android:layout_width="35dp"
            android:layout_height="wrap_content"
            android:button="@drawable/like" 
            android:gravity="right"/>

        <RadioButton
            android:id="@+id/dislikeButton"
            android:layout_width="35dp"
            android:layout_height="wrap_content"
            android:button="@drawable/dislike" 
            android:gravity="right"/>

    </RadioGroup>

</LinearLayout>

我也尝试过设置RadioButton android:layout_width =&#34; wrap_content&#34;这也没用。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

试试这个..

我猜您的 listview 宽度为wrap_content,将其更改为match_parent并尝试

<ListView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

答案 1 :(得分:0)

问题与您的列表视图有关。项目布局没有问题

更改列表视图

 android:layout_width="match_parent""

答案 2 :(得分:0)

如果您想要一面布局而另一面布局,请使用RelativeLayout:alignParentRight / Left。