充气RecyclerView给出不同的大小

时间:2017-06-20 04:52:45

标签: android android-layout android-recyclerview

我正在给一个具有NetoworkImageView和2 Textview的RecyclerView充气。充气后,我会得到可变尺寸的行,如下图所示。

我怎样才能使它们固定大小?

enter image description here

这是我正在膨胀的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="10">

<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal"
    android:layout_weight="2"
    android:baselineAlignBottom="true" />

<TextView
    android:id="@+id/textView_Status"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="4"
    android:gravity="center_vertical"
    android:paddingLeft="13dp"
    android:text="Testing"
    android:textSize="17sp" />

<TextView
    android:id="@+id/textView_Time"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="2.5"
    android:gravity="center_vertical"
    android:text="Time"
    android:textSize="17sp" />

<Button
    android:id="@+id/button"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_gravity="center_horizontal"
    android:visibility="invisible" />

编辑:

enter image description here

2 个答案:

答案 0 :(得分:0)

将此作为您的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal"
>

<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal"
    android:baselineAlignBottom="true" />

<TextView
    android:id="@+id/textView_Status"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:paddingLeft="13dp"
    android:text="Testing"
    android:textSize="17sp" />

<TextView
    android:id="@+id/textView_Time"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:text="Time"
    android:textSize="17sp" />

<Button
    android:id="@+id/button"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_gravity="center_horizontal"
    android:visibility="invisible" />

这会使您的图像保持不变,并在两个文本视图之间平均分配剩余的空间。

如果你想要一个大的文本视图和一个小的改变权重从1到0.7(小)和0.3(大)。

答案 1 :(得分:0)

更改您的代码,如:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal"
>

<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal"
    android:baselineAlignBottom="true" />

<TextView
    android:id="@+id/textView_Status"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:paddingLeft="13dp"
    android:text="Testing"
    android:textSize="17sp" />

<TextView
    android:id="@+id/textView_Time"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="2"
    android:gravity="center_vertical"
    android:text="Time"
    android:textSize="17sp" />

<Button
    android:id="@+id/button"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_gravity="center_horizontal"
    android:visibility="invisible" />

如果有文字或没有文字,它将占用文本视图的全宽度。