Android的三个项目彼此相邻

时间:2018-09-10 10:41:21

标签: android

我正在尝试为recyclerview创建一个布局,其中三个项目水平相邻。

我希望使用LinearLayout来实现这一点,但是最后一项(ImageButton)不会出现。我也在尝试权重的组合。

是否有实现此目标的好方法?以下是我当前的布局文件。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="horizontal">
<TextView
    android:id="@+id/textView_option"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/option"
    android:layout_margin="15dp"
    android:textSize="20dp"
    />

<EditText
    android:id="@+id/editText_option"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="15dp"
    android:lines="1" />

<ImageButton
    android:layout_width="35dp"
    android:layout_height="35dp"
    android:src="@drawable/icon_minus"
    android:scaleType="fitCenter"
    android:background="@null"
    android:layout_weight="2"
    />
 </LinearLayout>

3 个答案:

答案 0 :(得分:0)

尝试将其替换为以下代码

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

        <TextView
            android:id="@+id/textView_option"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="15dp"
            android:text="option"
            android:layout_weight="1"
            android:textSize="20dp" />

        <EditText
            android:id="@+id/editText_option"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="15dp"
            android:layout_weight="1"
            android:lines="1" />

        <ImageButton
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:layout_weight="2"
            android:background="@null"
            android:scaleType="fitCenter"
            android:src="@drawable/icon_minus" />
    </LinearLayout>

答案 1 :(得分:-1)

只需赋予EditText权重

所以尝试一下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="horizontal">
    <TextView
        android:id="@+id/textView_option"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/option"
        android:layout_margin="15dp"
        android:textSize="20dp"
        />

    <EditText
        android:id="@+id/editText_option"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_margin="15dp"
        android:lines="1" />

    <ImageButton
        android:layout_width="35dp"
        android:layout_height="35dp"
        android:src="@drawable/icon_minus"
        android:scaleType="fitCenter"
        android:background="@null"
        />
</LinearLayout>

答案 2 :(得分:-1)

我会尝试使用ConstraintLayout并使用链。看起来像这样:

echo

然后可以使用chainStyle属性更改链的样式。