0

我只知道这很简单,大约 30 分钟后,我会恨自己...

我有一个闪屏,它由一个填充屏幕的静态图像组成。所以我只需设置我在布局中使用的任何根视图的背景属性。

该图像有一个空白区域,我需要在其上放置一个“我接受”按钮。为了处理不同的分辨率,我必须使用显示高度的百分比来定位它 - 58% 是点。

我不能使用 layout_weight 因为按钮的大小和 absolutelayout(在代码中设置 y 位置)已被弃用。

我怎样才能做到这一点?我不在乎哪个视图组是父级,我可以让“空白”视图填满空间。

我的目标是完全在布局 XML 中做到这一点,以保持我的代码干净......

谢谢!

4

2 回答 2

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>
于 2012-04-13T15:51:34.483 回答
0

我看不到使用 layout_weight 的任何其他方式...而且整个类AbsoluteLayout已被弃用,因此请尽量避免使用它。我建议使用LinearLayout给定 weight_sum 为 1 的 rootView。添加另一个 Space-filling 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>
于 2012-04-13T15:58:47.770 回答