gpt4 book ai didi

android - 如何从自定义属性中引用 android 属性 layout_width?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:01:25 25 4
gpt4 key购买 nike

我想将我的应用程序在 xlarge 设备上的使用与在其他设备上的使用分开,以将 xlarge 的 layout_width 参数限制为 720dp。为此,我创建了 values/attrs.xml:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<attr name="layoutWidth" format="reference|dimension" />
</resources>

用自定义参数layoutWidth来设置

android:layout_width="?layoutWidth"

Furtner,我需要在values-xlargevalues 目录中为xlarge 和普通设备指定两个themes.xml 文件:

values-xlarge/themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme" parent="android:Theme">
<item name="layoutWidth">720dp</item>
</style>
</resources>

values/themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme" parent="android:Theme">
<item name="layoutWidth">What should I write here!?</item>
</style>
</resources>

那么,我该如何在这个地方引用 Android 的“fill_parent”参数呢?看起来像@android:layout_width/fill_parent,但我有编译错误:

 No resource found that matches the given name (at 'layoutWidth' with value '@android:layout_width/fill_parent').

最佳答案

我通过将 values/attrs.xml 更改为以下内容找到了解决方案:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<attr name="layoutWidth" format="dimension">
<enum name="fill_parent" value="-1" />
<enum name="match_parent" value="-1" />
<enum name="wrap_content" value="-2" />
</attr>
</resources>

现在,我可以在values/themes.xml中写:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme" parent="android:Theme">
<item name="layoutWidth">match_parent</item>
</style>
<resources>

但问题依然存在:Android layout_width参数是否可以从这里引用?

关于android - 如何从自定义属性中引用 android 属性 layout_width?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8881651/

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