gpt4 book ai didi

未应用 Android ToggleButton 自定义样式

转载 作者:搜寻专家 更新时间:2023-11-01 08:05:35 25 4
gpt4 key购买 nike

我关注了this example将一些自定义主题应用到我的切换按钮,但是当我运行我的应用程序时,我看到了通用的 android 切换图标 - 我想我在这里或那里缺少一个设置并且可以使用额外的一组眼睛来观察它。

我有一个在 ListView 中使用的布局,我正在尝试为选中/未选中状态使用自定义可绘制对象,默认情况下每个切换状态都设置为已选中:

<ToggleButton
android:id="@+id/profile_item_value_text"
style="@style/ProfileTagTheme"
android:layout_width="0px"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textSize="16dp"
android:textColor="@color/black"
android:layout_gravity="center"
android:gravity="center_vertical|center_horizontal"
android:checked="true" />

这是我在 ProfileTagThemestyles 文件中的内容:

<style name="Widget.Button.Toggle" parent="android:Widget">
<item name="android:background">@drawable/profile_btn_toggle_bg</item>
<item name="android:disabledAlpha">@android:attr/disabledAlpha</item>
</style>
<style name="ProfileTagTheme" parent="android:Theme.Black">
<item name="android:buttonStyleToggle">@style/Widget.Button.Toggle</item>
</style>

反过来,profile_btn_toggle_bg.xml,位于我的主要 drawable 目录中:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background" android:drawable="@android:color/transparent"/>
<item android:id="@android:id/toggle" android:drawable="@drawable/profile_btn_toggle"/>
</layer-list>

它引用了 profile_btn_toggle,就在它旁边:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/tag_active" /> <!-- pressed -->
<item android:drawable="@drawable/tag" /> <!-- default/unchecked -->
</selector>

我已经验证自定义图像存在于 drawables 目录中,所以显然我误解了样式级联的方式,或者我在这种疯狂的样式中缺少引用。

最佳答案

看来我遇到的唯一真正问题是在我的ToggleButton 实现中缺少android:background 元素;所以对上面代码的唯一更改是添加该元素,例如

<ToggleButton
android:id="@+id/profile_item_value_text"
style="@style/ProfileTagTheme"
android:background="@drawable/profile_btn_toggle_bg"
android:layout_width="0px"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textSize="16dp"
android:textColor="@color/black"
android:layout_gravity="center"
android:gravity="center_vertical|center_horizontal"
android:checked="true"
android:onClick="onToggleClicked" />

关于未应用 Android ToggleButton 自定义样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14735870/

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