垂直线性布局内的水平线性布局
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)