我正在尝试创建一个布局,在屏幕顶部有两个宽度相等的按钮,然后是一个直接位于其下方的滚动视图。我在滚动视图中有一个linearLayout,因为那是我动态创建UI元素的地方。
按钮位置正确但我的滚动视图被隐藏或者滚动视图内部的线性布局被隐藏,我无法分辨并且不了解布局以确定发生了什么。我究竟做错了什么?我在LinearLayout中创建了一个TextView占位符,以告诉我是否可以看到任何内容并且它没有显示出来。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/EditRecordOuterLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:orientation="horizontal"
>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<RelativeLayout
android:id="@+id/Bforeground"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<TextView
android:id="@+id/cancelButtonText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="20dp"
android:text="Cancel" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/cancelButtonText"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:src="@drawable/cancel" />
</RelativeLayout>
<Button
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@id/Bforeground"
android:layout_alignLeft="@id/Bforeground"
android:layout_alignRight="@id/Bforeground"
android:layout_alignTop="@+id/Bforeground"
android:onClick="clickedMe"
android:gravity="center" />
</RelativeLayout>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<RelativeLayout
android:id="@+id/foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<TextView
android:id="@+id/button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="20dp"
android:text="Save" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/button_text"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:src="@drawable/save" />
</RelativeLayout>
<Button
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@id/foreground"
android:layout_alignLeft="@id/foreground"
android:layout_alignRight="@id/foreground"
android:layout_alignTop="@+id/foreground"
android:onClick="clickedMe"
android:gravity="center" />
</RelativeLayout>
</LinearLayout>
<ScrollView
android:id="@+id/editRecordScrollView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/editRecordLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/someText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="20dp"
android:text="This text should be showing..." />
</LinearLayout>
</ScrollView>
知道了!谢谢你们。固定版本如下。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/EditRecordOuterLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:orientation="horizontal"
>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<RelativeLayout
android:id="@+id/Bforeground"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<TextView
android:id="@+id/cancelButtonText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="20dp"
android:text="Cancel" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/cancelButtonText"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:src="@drawable/cancel" />
</RelativeLayout>
<Button
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@id/Bforeground"
android:layout_alignLeft="@id/Bforeground"
android:layout_alignRight="@id/Bforeground"
android:layout_alignTop="@+id/Bforeground"
android:onClick="clickedMe"
android:gravity="center" />
</RelativeLayout>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<RelativeLayout
android:id="@+id/foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<TextView
android:id="@+id/button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="20dp"
android:text="Save" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/button_text"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:src="@drawable/save" />
</RelativeLayout>
<Button
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@id/foreground"
android:layout_alignLeft="@id/foreground"
android:layout_alignRight="@id/foreground"
android:layout_alignTop="@+id/foreground"
android:onClick="clickedMe"
android:gravity="center" />
</RelativeLayout>
</LinearLayout>
<ScrollView
android:id="@+id/editRecordScrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/editRecordLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
</ScrollView>
</LinearLayout>
答案 0 :(得分:2)
您必须将所有UI元素放在单个父布局中。
我建议您仍然可以使用LinearLayout
作为最高级别,但它应该是垂直的,如下所示:
android:orientation="vertical"
在父垂直LinearLayout中,您可以为顶部按钮和ScrollView
放置一个水平LinearLayout。
应该这样做。