我有以下代码,其中我希望三个线性布局分布在父相对布局中,就像单个线性布局中的子视图以线性布局分布一样。我在“线性布局”标签中尝试使用“ layout_weight =“ 1””,但没有得到预期的结果。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/root_relative_layout">
<LinearLayout
android:id="@+id/first_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff">
<ImageView
android:id="@+id/cat_paw_image"
android:layout_width="match_parent"
android:layout_height="50dp"
android:contentDescription="@string/image_of_cat_paw"
android:src="@drawable/cat_paw" />
<ImageView
android:id="@+id/lion_image"
android:contentDescription="@string/image_of_lion"
android:layout_width="match_parent"
android:layout_height="212dp"
android:src="@mipmap/lion"/>
<TextView
android:id="@+id/work_for_lions"
android:text="@string/for_lion"
android:contentDescription="@string/for_lion"
android:textSize="30sp"
android:textColor="#111"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginBottom="10dp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/second_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#fff"
android:layout_below="@id/first_linear_layout">
<ImageView
android:id="@+id/location_logo"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/location_logo"
android:src="@drawable/location_logo"
android:layout_weight="1"/>
<TextView
android:id="@+id/first_text_view_in_second_linear_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/where_is"
android:textColor="#111"
android:textSize="25sp"
android:layout_marginTop="5dp"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout
android:id="@+id/third_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#fff"
android:layout_below="@id/second_linear_layout">
<ImageView
android:id="@+id/time"
android:layout_width="30dp"
android:layout_height="30dp"
android:contentDescription="@string/time_image"
android:src="@drawable/time"
android:layout_marginLeft="25dp"/>
<TextView
android:id="@+id/first_text_view_in_third_linear_layout"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="@string/what_the_time"
android:textSize="25sp"
android:textColor="#111"
android:textAlignment="center"/>
</LinearLayout>
</RelativeLayout>
注意:我是android开发的初学者。
答案 0 :(得分:0)
使用相对布局时,必须指定线性布局相对于相对布局的位置或彼此之间的位置,请参见Relative Layout doc。或使用线性布局作为基础Linear Layout doc。
甚至查看ConstraintLayout