Moh*_*ahi 7 android android-layout android-xml android-studio
我设计了两个Android布局,应该按顺序显示.因此,第一个布局必须显示在页面顶部,第二个布局必须显示在页面底部.但是,以下代码仅显示第一个布局.我怎样才能显示第二个布局?
主要布局是
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/first_layout"/>
<include layout="@layout/second_layout"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
第一个xml布局是
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="net.simplifiedcoding.androidloginapp.UserProfile">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/textView3"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
第二个布局是
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:orientation="vertical"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name"
android:id="@+id/textView" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextName" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Address"
android:id="@+id/textView2" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextAddress" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Insert"
android:onClick="insert"
android:id="@+id/button" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewResult" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我还不确定这是否可以解决您的问题,但您可以尝试添加android:layout_width并android:layout_height在您的包含布局和布局重量?
<include layout="@layout/first_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<include layout="@layout/second_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
Run Code Online (Sandbox Code Playgroud)
添加了信息
你遇到这个问题的原因是因为你的布局都match_parent用于高度.这意味着在第一个布局中,它将匹配父级的大小(在这种情况下是整个屏幕),因此,第一个布局将占据整个屏幕,第二个布局将不会出现.
在这个解决方案中,您通过使用,告诉两个布局只消耗一半的屏幕layout_weight.
在你的第一个布局中,你有
android:layout_height="match_parent"
Run Code Online (Sandbox Code Playgroud)
所以它占据了主布局的整个高度。将其更改为
android:layout_height="wrap_content"
Run Code Online (Sandbox Code Playgroud)
你应该很好。
根视图应该正是您希望它在添加此布局的每个布局中显示的方式。
注意
您还可以
android:layout_*通过在<include/>标记中指定它们来覆盖所包含布局的根视图的所有布局参数(任何属性)。
| 归档时间: |
|
| 查看次数: |
4833 次 |
| 最近记录: |