微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐