我制作了一个包含scrollview布局的Android应用程序,里面有AbsoluteLayout,问题是我无法显示布局的底部,它只显示布局的顶部。我试图在AbsoluteLayout中使用layout_marginBottom,但它没有用。
答案 0 :(得分:2)
使用RelativeLayout
代替AbsoluteLayout
。也不要滚动总布局。只需滚动View
。
检查一次:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:layout_marginTop="40dp"
android:background="@drawable/bg" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="300dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="TextView" />
</ScrollView>
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Button" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btn1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="27dp"
android:text="@string/s3"
android:textSize="16sp"
android:text="TextView" />
</RelativeLayout>
答案 1 :(得分:0)
使用RelativeLayout并设置左右边距,如
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
lp.leftMargin = x;
lp.topMargin = y;
答案 2 :(得分:0)
确实,绝对布局已弃用。另外,这是一个提示:
为Android创建xml布局时,检查错误的最简单方法是使用xml布局文件的“图形布局”选项卡。 。使用适当的设备配置(匹配您的设备)和API版本,重现该错误并查看更改布局参数是否有帮助。
答案 3 :(得分:0)
在ScrollView中使用属性android:fillViewPort = true,如下所示
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:fillViewport="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical" >