垂直线性布局内的水平线性布局

Posted

技术标签:

【中文标题】垂直线性布局内的水平线性布局【英文标题】:Horizontal LinearLayout inside Vertical LinearLayout 【发布时间】:2017-08-26 05:21:24 【问题描述】:

我想显示一个水平线性布局,其中内容 3 imageview 在垂直线性布局内

​​>

但是你可以看到我有一个问题

只显示第一个Imageview,并且他在中间。

我改变了另一个 Imageview(左和右)的重力,但没有任何改变。

代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/activity_form"
    android:layout_
    android:layout_>

    <LinearLayout
        android:layout_
        android:layout_
        android:orientation="vertical"
        tools:context="info.androidhive.navigationdrawer.activity.FormActivity"
        android:weightSum="1"
        android:theme="@style/ThemeOverlay.AppCompat.Dark">


        <TextView
            android:id="@+id/textView"
            android:layout_
            android:layout_
            android:text="Ajouter Votre Annonce"
            android:gravity="center"
            android:textColor="#000000"
            android:textSize="22sp"
            />


        <Spinner
            android:id="@+id/spinner"
            android:layout_
            android:layout_
            android:layout_marginTop="34dp"
            android:layout_below="@+id/textView"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:entries="@array/cat_arrays"
            android:prompt="@string/cat_prompt"
            />


        <RadioButton
            android:id="@+id/radioButton"
            android:layout_
            android:layout_
            android:layout_marginTop="23dp"
            android:text="Offre"
            android:layout_below="@+id/spinner"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:textColor="#000000"
            />



        <RadioButton
            android:id="@+id/radioButton2"
            android:layout_
            android:layout_
            android:layout_alignBottom="@+id/radioButton"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:text="Demande"
            android:textColor="#000000"
            />


        <Spinner
            android:id="@+id/spinner4"
            android:layout_
            android:layout_
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/spinner3"
            android:layout_marginTop="17dp"
            android:entries="@array/vil_arrays"
            android:prompt="@string/vil_prompt"
            android:textColor="#808080"
            />

        <EditText
            android:id="@+id/editText"
            android:layout_
            android:layout_
            android:layout_marginTop="16dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:hint="Titre de l'Annonce"
            android:layout_below="@+id/spinner4"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:textColorHint="#808080"
            android:textColor="#000000"
            />

        <EditText
            android:id="@+id/editText8"
            android:layout_
            android:layout_
            android:layout_marginTop="16dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:hint="Prix en UM"
            android:layout_below="@+id/spinner4"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:textColorHint="#808080"
            android:textColor="#000000"
            />

        <EditText
            android:id="@+id/editText4"
            android:layout_
            android:layout_
            android:layout_below="@+id/editText"
            android:layout_marginTop="16dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:hint="Description"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentBottom="true"
            android:textColorHint="#808080"
            android:paddingBottom="75dp"
            android:textColor="#000000"/>

        <TextView
            android:id="@+id/textView4"
            android:layout_
            android:layout_
            android:layout_centerHorizontal="true"
            android:layout_marginTop="27dp"
            android:text="Vos Photos"
            android:gravity="center"
            android:textColor="#000000"
            android:textSize="22sp"

            />

        <LinearLayout
            android:layout_
            android:layout_
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/img1"
                android:layout_
                android:layout_
                android:src="@drawable/imgadd"
                android:gravity="left"
                />

            <ImageView
                android:id="@+id/img2"
                android:layout_
                android:layout_
                android:src="@drawable/imgadd"
                android:gravity="center"/>

            <ImageView
                android:id="@+id/img3"
                android:layout_
                android:layout_
                android:src="@drawable/imgadd"
                android:gravity="right"/>


        </LinearLayout>

        <TextView
            android:id="@+id/textView5"
            android:layout_
            android:layout_
            android:layout_below="@+id/button3"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="23dp"
            android:text="Vos Informations"
            android:gravity="center"
            android:textColor="#000000"
            android:textSize="22sp"
            />

        <RadioButton
            android:id="@+id/radioButton3"
            android:layout_
            android:layout_
            android:layout_alignLeft="@+id/button3"
            android:layout_alignStart="@+id/button3"
            android:layout_below="@+id/textView5"
            android:text="Professionel"
            android:textColor="#000000"
            />

        <RadioButton
            android:id="@+id/radioButton4"
            android:layout_
            android:layout_
            android:layout_alignBottom="@+id/radioButton3"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:text="Particulier"
            android:textColor="#000000"
            />

        <EditText
            android:id="@+id/editText5"
            android:layout_
            android:layout_
            android:layout_alignLeft="@+id/button3"
            android:layout_alignStart="@+id/button3"
            android:layout_below="@+id/radioButton3"
            android:layout_marginTop="26dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:hint="Nom et Prenom"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:textColorHint="#808080"
            />

        <EditText
            android:id="@+id/editText6"
            android:layout_
            android:layout_
            android:layout_alignLeft="@+id/editText5"
            android:layout_alignParentBottom="true"
            android:layout_alignStart="@+id/editText5"
            android:layout_marginBottom="10dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:hint="Telephone"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:textColorHint="#808080"
            />
        <EditText
            android:id="@+id/editText7"
            android:layout_
            android:layout_
            android:layout_alignLeft="@+id/editText6"
            android:layout_alignParentBottom="true"
            android:layout_alignStart="@+id/editText6"
            android:layout_marginBottom="10dp"
            android:ems="10"
            android:inputType="textPassword"
            android:hint="Mot de passe"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:textColorHint="#808080"/>

        <Button
            android:id="@+id/button4"
            android:layout_
            android:layout_
            android:layout_marginTop="36dp"
            android:text="Déposez votre Annonce"
            android:background="#a4c639"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:textColorHint="#808080"/>

    </LinearLayout>
</ScrollView>

【问题讨论】:

【参考方案1】:
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal" >

    <ImageView
       android:id="@+id/img1"
       android:layout_
       android:layout_weight = "1"
       android:layout_
       android:src="@drawable/imgadd"/>


   <ImageView
       android:id="@+id/img2"
       android:layout_
       android:layout_weight = "1"
       android:layout_
       android:src="@drawable/imgadd"/>

   <ImageView
       android:id="@+id/img3"
       android:layout_
       android:layout_weight = "1"
       android:layout_
       android:src="@drawable/imgadd"/>

</LinearLayout>

【讨论】:

很高兴为您提供帮助...!【参考方案2】:

试试这个代码:

<LinearLayout
            android:layout_
            android:layout_
            android:orientation="horizontal" >

        <ImageView
            android:id="@+id/img1"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:src="@drawable/imgadd"/>

        <ImageView
            android:id="@+id/img2"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:src="@drawable/imgadd"/>

        <ImageView
            android:id="@+id/img3"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:src="@drawable/imgadd"/>


    </LinearLayout>

【讨论】:

android:weight 不是 android 属性,请使用 android:layout_weight 三张图片要不要包宽?或者你想让这三张图片可以水平滚动?【参考方案3】:

它可以通过多种方式修复。我要做的是将 layout_weight 标签分配给水平线性布局中的所有 3 个图像。像这样的。

<LinearLayout
    android:layout_
    android:layout_
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/img1"
        android:layout_
        android:layout_
        android:src="@drawable/imgadd"
        android:layout_weight ="1"
        />

    <ImageView
        android:id="@+id/img2"
        android:layout_
        android:layout_
        android:layout_weight ="1"
        android:src="@drawable/imgadd"
        />

    <ImageView
        android:id="@+id/img3"
        android:layout_
        android:layout_
        android:layout_weight ="1"
        android:src="@drawable/imgadd"
        />


</LinearLayout>

同时删除所有三个图像视图中的重力标签。

【讨论】:

虽然应该将宽度设置为0dp 你的回答也是有效的。谢谢,但它应该是 android:layout_weight 而不是 android:weight ,谢谢

以上是关于垂直线性布局内的水平线性布局的主要内容,如果未能解决你的问题,请参考以下文章

第四章: 布局类组件 4.3 线性布局(Row和Column)

android,线性布局1,里面嵌套线性布局2(垂直排列),想让2在1里是垂直居中的,怎么搞?

DirectionalLayout线性布局

线性布局

android 线性布局 居右

.Net程序猿玩转Android开发---线性布局LinearLayout