我正在尝试将RelativeLayout的位置设置在屏幕的中心。 RelativeLayout位于ScrollView内部,具有以下代码。问题是,在我的模拟器(Android 4.2)中,它工作得很好,但是如果我在2.3版本上执行它,那么RelativeLayout会出现在屏幕的左上角。我无法弄清楚为什么会这样。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="75dp"
android:layout_marginLeft="50dp">
<EditText
android:id="@+id/when"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="20dip"
android:inputType="textMultiLine"
android:scrollHorizontally="false"
android:minLines="1"
android:maxLines="3"
android:imeOptions="actionDone|flagNoEnterAction" />
<EditText
android:id="@+id/memory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:layout_marginTop="5dip"
android:layout_below="@id/when"
android:inputType="textMultiLine"
android:scrollHorizontally="false"
android:minLines="1"
android:imeOptions="actionDone|flagNoEnterAction"
android:hint="@string/add_memory_hint"
android:background="#6656B3D4" />
<Button
android:id="@+id/addMemory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/memory"
android:layout_marginTop="20dp"
android:padding="13dp"/>
<Button
android:id="@+id/neverMind"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/addMemory"
android:layout_marginTop="20dp"
android:padding="13dp"/>
</RelativeLayout>
</ScrollView>
我真的很感激一些见解。谢谢。
答案 0 :(得分:1)
在相对布局中,尝试添加以下标记。它应该工作。
android:layout_gravity="center"
尝试将背景颜色添加到相对布局和滚动视图,并查看更改如何影响。仅用于调试目的。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/darker_gray" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="75dp"
android:layout_marginLeft="50dp"
android:background="@android:color/black">
我尝试使用OS 4.4.2进行设备
答案 1 :(得分:0)
这样说吧
scrollview
linearLayout (gravity: center)
YOUR relativelayour
/YOUR relativelayour
/linearLayout
/scrollview
虽然我不明白为什么你想在中心的滚动视图中制作一些东西
答案 2 :(得分:0)
最简单的方法是从您的margin
中移除RelativeLayout
并将其LinearLayout
与android:gravity="center"
RelativeLayout
和ScrollView
一起包裹起来graviy
两者都没有 <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText
android:id="@+id/when"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="20dip"
android:inputType="textMultiLine"
android:scrollHorizontally="false"
android:minLines="1"
android:maxLines="3"
android:imeOptions="actionDone|flagNoEnterAction" />
<EditText
android:id="@+id/memory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:layout_marginTop="5dip"
android:layout_below="@id/when"
android:inputType="textMultiLine"
android:scrollHorizontally="false"
android:minLines="1"
android:imeOptions="actionDone|flagNoEnterAction"
android:hint="@string/add_memory_hint"
android:background="#6656B3D4" />
<Button
android:id="@+id/addMemory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/memory"
android:layout_marginTop="20dp"
android:padding="13dp"/>
<Button
android:id="@+id/neverMind"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/addMemory"
android:layout_marginTop="20dp"
android:padding="13dp"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
,AFAIK。像这样的东西
orientation
我还从RelativeLayout
删除了ViewGroup
,因为orientation
没有{{1}}属性。