在我的布局中,我有一个orientation="horizontal"
的LinearLayout
我的问题是我想在textView下面设置一个ImageView,有什么方法可以做到这一点吗? (我知道我可以用RelativeLayout做到这一点,但我不想在这里改变LinearLayout)
它是我的代码:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.0"
android:layout_marginBottom="5dp"
android:background="@drawable/shape_edit_text"
android:gravity="center_vertical">
<ImageView
android:id="@+id/imgFlag"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginLeft="8dp"/>
<TextView
android:id="@+id/txtCountries"
style="@style/Field.EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:layout_marginRight="1dp"/>
<EditText
android:id="@+id/edtPhoneNumber"
style="@style/Field.EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:layout_marginLeft="1dp"
android:hint="@string/phone_number"
android:inputType="phone"/>
</LinearLayout>
答案 0 :(得分:2)
是的,有办法做到这一点。您需要在布局中创建布局,并在内部布局中定位两个有问题的元素。它可以是具有垂直方向的线性布局,因此其内部的两个元素垂直堆叠。
答案 1 :(得分:2)
以下是 @IIya Kogan 描述的示例
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.0"
android:layout_marginBottom="5dp"
android:background="@drawable/shape_edit_text"
android:gravity="center_vertical">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imgFlag"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginLeft="8dp"/>
<TextView
android:id="@+id/txtCountries"
style="@style/Field.EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:layout_marginRight="1dp"/>
</LinearLayout>
<EditText
android:id="@+id/edtPhoneNumber"
style="@style/Field.EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:layout_marginLeft="1dp"
android:hint="@string/phone_number"
android:inputType="phone"/>
</LinearLayout>
答案 2 :(得分:0)
使用新的LinearLayout与android:orientation =&#34; vertical&#34;或使用RelativeLayou