我在调整按钮时遇到了一些问题。我想把它们放在屏幕的(大约)1/3 和 2/3 处(我在下面提供了一个屏幕截图,以使事情更加清晰)
我的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/mainbg">
<Button
android:text="@string/topbutton"
android:background="@drawable/silvertablesbuttonbgkort"
android:id="@+id/topbutton"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|center_vertical">
</Button>
<Button
android:text="@string/midbutton"
android:background="@drawable/silvertablesbuttonbglang"
android:id="@+id/midbutton"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|center_vertical">
</Button>
<RelativeLayout
android:id="@+id/underbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<Button
android:text="@string/underbartekst"
android:background="@drawable/silvertablesunderbar"
android:id="@+id/underbarbutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:textSize="20dp"
android:gravity="left|center_vertical" >
</Button>
</RelativeLayout>
我试图让它看起来像这样:(如果在这里发布屏幕截图模型不被允许,我很抱歉,我只是想不出更好的方法来澄清我正在尝试做的事情)
看来我无法发布图片,因为我在这里太新了......所以这里是屏幕截图的链接:https://i.stack.imgur.com/LIVup.png https://i.stack.imgur.com/LIVup.png
我最初的想法只是在两个按钮周围包裹一个垂直的线性布局,并在两个按钮之间放置空的文本视图,如果这个应用程序打算在一种屏幕尺寸上运行,那么这实际上是可行的,但我很确定它' d 在每部具有不同屏幕分辨率的手机上都会搞砸。我通过使用 android:layout_alignParentBottom="true" 的相对布局解决了底部栏的这个问题,但我真的想不出一种捕捉到 1/3rd 或 2/3rd 的方法。有没有办法做到这一点,可以适用于各种屏幕分辨率?
Edit:我解决了我的问题!我试图将其作为答案发布,但直到 8 小时后才能发布。然后就可以了,但现在,我将其作为编辑发布在这里:
我在屏幕中间放置了一个 0x0 的 TextView,并在其上方和下方放置了relativelayout,填充了屏幕。然后我将两个 0x0 的 TextView 放置在这些布局的中间,并在这些布局中放置两个新的relativelayout。一张位于最高 TextView 下方,一张位于最低 TextView 上方。我将按钮放在这些布局的中心。它的工作方式就像一个魅力,除了代码本身之外不依赖任何东西。这是我现在的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/mainbg">
<TextView
android:text=" "
android:id="@+id/ankermidden"
android:layout_centerVertical="true"
android:layout_width="0dp"
android:layout_height="0dp">
</TextView>
<RelativeLayout
android:id="@+id/ankerveldboven"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/ankermidden">
<TextView
android:text=" "
android:id="@+id/ankerboven"
android:layout_centerVertical="true"
android:layout_width="0dp"
android:layout_height="0dp">
</TextView>
<RelativeLayout
android:id="@+id/ankerveldmidboven"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/ankerboven">
<Button
android:text="@string/topbutton"
android:background="@drawable/silvertablesbuttonbgkort"
android:id="@+id/topbutton"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|center_vertical">
</Button>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/ankerveldonder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/ankermidden">
<TextView
android:text=" "
android:id="@+id/ankeronder"
android:layout_centerVertical="true"
android:layout_width="0dp"
android:layout_height="0dp">
</TextView>
<RelativeLayout
android:id="@+id/ankerveldmidonder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/ankeronder">
<Button
android:text="@string/midbutton"
android:background="@drawable/silvertablesbuttonbglang"
android:id="@+id/midbutton"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|center_vertical">
</Button>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/underbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<Button
android:text="@string/underbartekst"
android:background="@drawable/silvertablesunderbar"
android:id="@+id/underbarbutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:textSize="20dp"
android:gravity="left|center_vertical" >
</Button>
</RelativeLayout>
是的,这比我想象的要容易。