我只知道这很简单,在大约30分钟的时间内,我会讨厌自己......
我有一个闪屏,它由一个填满屏幕的静态图像组成。所以我只需设置我在布局中使用的任何根视图的背景属性。
图像有一个空白区域,我需要在其上放置一个“我接受”按钮。为了处理不同的分辨率,我必须使用显示高度的百分比来定位 - 58%是现场。
我不能使用layout_weight因为按钮的大小而且不推荐使用absolutelayout(在代码中设置y位置)。
我怎样才能做到这一点?我不关心什么视图组是父母,我很好,有“空白”视图填补空间。
我的目标是在布局XML中完全执行此操作以保持代码清洁...
谢谢!
答案 0 :(得分:4)
你说你不能使用layout_weight
,但如果你想纯粹用XML做,那就是你唯一的选择。我不明白为什么你认为你无论如何都不能使用它。以下是您可能会这样做的示例:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash"
android:orientation="vertical" >
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="58" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="42" >
<!-- Place buttons here -->
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
我没有看到使用layout_weight的任何其他方式...也不推荐使用整个类AbsoluteLayout
,所以尽量避免使用它。我建议使用LinearLayout
作为你的rootView,给定的weight_sum为1.添加另一个填充空间的LinearLayout宽度,权重为0.58,低于你的Button,带有wrap_content属性。不幸的是,除非你发布你的xml,否则我不能告诉你更多信息,以便我能看到你想要实现的目标。
这种应该有用:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/your_desired_background"
android:orientation="vertical"
android:weight_sum="1">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight=".58" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>