我花了好几个小时试图解决这个问题,并花了很长时间寻找其他答案。 我显然错过了一些简单的东西,但确实一直在尝试。
我将我的代码剪切到基本要点以找到问题。
布局有一个背景,其上半部分是漂亮的图形,在上半部分之下,我希望有按钮。 背景位于顶部,第一个是linearlayout(垂直)。 然后,在其中,是两个垂直线性布局。
顶部垂直布局,重量为1。 底部垂直布局,重量为1。
这对我来说意味着顶部布局应该占据屏幕的HALF。然后进入第二个布局的按钮应该可以占用屏幕的其余部分。 但是,当我开始添加到第二个布局时,它不再占用屏幕的一半,但开始占用上半部分的空间。
我想做的就是在屏幕的下半部分添加四个图像按钮,水平集中。
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/menubackground"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- Layout 1, the top half -->
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical" >
</LinearLayout>
<!-- Layout 2, the bottom half, containing buttons -->
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:src="@drawable/playbtnimg" android:layout_weight="1"/>
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:src="@drawable/achievementsbtnimg" android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
这两个按钮现在开始占据垂直空间的2/3左右。它们不应该进入屏幕的上半部分。 我试图以这种方式使用布局,因此它可以在不同的屏幕尺寸上工作。 我希望这些图像可以缩放以适应它们的线性布局单元格,而不是在侧面顶部进行切割。
非常感谢任何帮助。
答案 0 :(得分:0)
向您的根元素添加weightsum
属性,即父LinearLayout
这就是它的样子
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/menubackground"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="2"
android:orientation="vertical">
同样适用于LinearLayout
按钮
这将有助于您在Android文档中阅读更多内容
答案 1 :(得分:0)
尝试在使用ImageButtons作为背景的地方添加此代码。
android:adjustViewBounds="true"
修复了我遇到的类似问题。
希望它有效且编码愉快。