gpt4 book ai didi

android - 相对布局 : giving priority to a view

转载 作者:行者123 更新时间:2023-11-30 02:24:46 26 4
gpt4 key购买 nike

我会在不改变真正的 xml 的情况下尽可能地简化:

<TextView
android:id="@+id/txtTitleDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"/>

<android.support.v4.view.ViewPager
android:id="@+id/datePickerPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/txtTitleDate"/>

<TextView
android:id="@+id/txtPriorityDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:layout_below="@+id/datePickerPager"
android:layout_alignParentBottom="true"/>

<LinearLayout
android:id="@+id/layoutPriorityDate"
android:layout_width="200dp"
android:layout_height = "wrap_content"
android:layout_alignTop="@+id/txtPriorityDate"
android:layout_alignParentRight="true"
android:orientation="vertical">
<!-- omitted -->
</LinearLayout>

没有 ViewPager,我有足够的空间在底部显示 LinearLayout。但这最终导致 ViewPager 占用了比它应有的更多的空间,并流过父 View 。

如何在没有任何硬编码大小值的情况下优先使用 LinearLayout 来使用空间?

谢谢。

最佳答案

您可以使用 LinearLayout 中的 android:layout_weight 属性来解决这个问题。

Linear Layout site from the API Guide 中所述:

This attribute assigns an "importance" value to a view in terms of how much space is should occupy on the screen. A larger weight value allows it to expand to fill any remaining space in the parent view. Child views can specify a weight value, and then any remaining space in the view group is assigned to children in the proportion of their declared weight. Default weight is zero.

在您的情况下,将其他 View 嵌套在 LinearLayout 中即可完成工作:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="vertical" >

<TextView
android:id="@+id/txtTitleDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:layout_marginBottom="30dp"/>

<android.support.v4.view.ViewPager
android:id="@+id/datePickerPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_below="@+id/txtTitleDate"/>

<TextView
android:id="@+id/txtPriorityDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:layout_below="@+id/datePickerPager"
android:layout_weight="2"
android:layout_alignParentBottom="true"/>

<LinearLayout
android:id="@+id/layoutPriorityDate"
android:layout_width="200dp"
android:layout_height = "wrap_content"
android:layout_alignTop="@+id/txtPriorityDate"
android:layout_alignParentRight="true"
android:layout_weight="2"
android:orientation="vertical">
</LinearLayout>

</LinearLayout>

您应该使用不同的权重值进行一些测试,以满足您的精确需求。

关于android - 相对布局 : giving priority to a view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28023223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com