其他分享
首页 > 其他分享> > Android LinearLayout分频器,但百分比?

Android LinearLayout分频器,但百分比?

作者:互联网

在happy.xml中我有一个LinearLayout …

<LinearLayout
    android:orientation="vertical"
    android:divider="@drawable/happy_spacer"
    android:showDividers="middle"
    ...>

这是文件happy_spacer.xml …

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <size android:height="8dp" />
    <solid android:color="#90909090" />
</shape>

太棒了,垫片高8dp.

但是你不能在响应的世界里那样工作,间隔的高度必须是它所在页面高度的一定百分比.

(或者,它必须 – 比如说 – 与happy.xml上的其他东西的高度有关.)

什么是Android解决方案?

(重要 – 正如Charuka在下面解释的那样,在这种情况下你几乎肯定想要“px”物理像素,而不是dp或dip.)

对于现代Android,apk 21仅向前.

解决方法:

通常,至少根据我的经验,列表项目分隔符是静态高度.在任何情况下,我认为你不能使用XML将它作为屏幕高度的百分比,但你可以使用setDividerHeight()以编程方式;虽然你必须自己根据百分比来计算大小.

否则,您可以使用resource qualifiers根据特定的break points调整大小;例如h720dp(最小高度为720dp)或w600dp(最小宽度为600dp).

标签:android,android-linearlayout,xml-layout
来源: https://codeday.me/bug/20190727/1553244.html