16

嘿,我有一个从屏幕顶部到屏幕底部之前的滚动视图,因为这是我的广告横幅发生的地方。由于谷歌政策,我希望在这些元素之间(按钮和横幅之间)有一些像素。到目前为止,我通过在 dp 中设置一个值来做到这一点。但随着设备的不同,这会导致某些高分辨率手机上的广告和滚动视图之间存在巨大差距。这就是为什么我想设置

<ScrollView 
android:layout_height="(Screen_height-banner)-5px"

(当然我什至没有尝试过这种方式,因为这不是代码,但我认为它很好地总结了我打算做的事情)

非常感谢你的回答!

4

4 回答 4

4

您无法在 XML 中查询屏幕大小,因为它不会在运行时运行,您可以通过使用RelativeLayout和使用alignmentsand来做到这一点margins

在您的情况下,如果 Screen_height-banner 表示屏幕高度并且您希望将其定位在底部并从末尾创建一个 5dp 分隔符,您的 XML 将是

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

        <ScrollView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginBottom="5dp">

</RelativeLayout >

如果您需要缩放滚动视图而不是定位它,您的 xml 将是

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding_bottom="5dp">

        <ScrollView 
            android:layout_width="wrap_content"
            android:layout_height="fill_parent">

</RelativeLayout >
于 2013-10-29T10:17:35.213 回答
4

您可以使用权重参数。如果您将两个布局的权重设置为 0.5,这将共享这些布局的屏幕宽度。

 <LinearLayout
    android:id="@+id/alt_panel"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/orta_panel" >

    <LinearLayout
        android:id="@+id/altsol_panel"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="0.5"
        android:gravity="center_horizontal"
        android:orientation="vertical" >


    </LinearLayout>

    <LinearLayout
        android:id="@+id/altsag_panel"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="0.5"
        android:gravity="center_horizontal"
        android:orientation="vertical" >


    </LinearLayout>
</LinearLayout>
于 2015-01-14T00:15:31.037 回答
2

使用RelativeLayout,设置5px的边距并使用layout_above

于 2013-10-29T10:17:12.303 回答
0

如果以下代码对您不起作用,则您可能正在使用更新版本的东西,您可以尝试使用android:bottom="80dp"而不是android:layout_marginBottom="5dp"

于 2021-03-09T17:31:52.787 回答