线性布局视图无序

时间:2017-05-11 09:32:53

标签: java android android-layout android-linearlayout

我有一个带有ImageView和TextView的LinearLayout。但TextView放在我的ImageView之前,我不知道为什么......

我的XML文件:

    <LinearLayout
    android:id="@+id/container_titre"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layoutDirection="inherit">

    <ImageView
        android:id="@+id/roue_dentee"
        android:layout_width="16dp"
        android:layout_height="16dp"
        app:srcCompat="@drawable/engrenage" />

    <TextView
        android:id="@+id/titre_diagramme"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="TextView" />
</LinearLayout>

The result

我以编程方式更改了TextView中的文本,但我认为它没有链接。

更新

这种XML非常有效。在我的代码中某处,imageView上有bringToFront() ...

抱歉浪费你的时间,谢谢大家的帮助!

3 个答案:

答案 0 :(得分:0)

从文字视图中删除android:layout_weight="1"

如果要在屏幕上将两个元素添加到相同大小,请确保每个视图(图像视图和文本视图)都添加layout_weight

android:layout_weight="1"

答案 1 :(得分:0)

只需将TextView的layout_width更改为0dp

即可
<LinearLayout
android:id="@+id/container_titre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layoutDirection="inherit">

<ImageView
    android:id="@+id/roue_dentee"
    android:layout_width="16dp"
    android:layout_height="16dp"
    app:srcCompat="@drawable/engrenage" />

<TextView
    android:id="@+id/titre_diagramme"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="TextView" />
</LinearLayout>

然后TextView将出现在ImageView旁边,宽度=父视图宽度 - 图像视图宽度

答案 2 :(得分:0)

我用relativeLayout替换了我的linearLayout,它完美地运行

    <RelativeLayout
    android:id="@+id/container_titre"
    android:background="#888888"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/roue_dentee"
        android:layout_width="16dp"
        android:layout_height="16dp"
        app:srcCompat="@drawable/engrenage"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="2.5dp" />

    <TextView
        android:id="@+id/titre_diagramme"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@+id/roue_dentee"
        android:layout_toRightOf="@+id/roue_dentee"
        android:gravity="center"
        android:text="TextView" />
</RelativeLayout>

结果如下: enter image description here