gpt4 book ai didi

android - 为什么 SwitchPreference 在从开到关切换时不显示动画,反之亦然?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:57:32 31 4
gpt4 key购买 nike

我为我的应用程序的preferences做了一个SwitchPreference

问题是当我在开和关之间切换时,SwitchPreference 没有显示动画,而是突然跳动。

这是 preferences.xml 文件的代码:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:id="@+id/notification"
android:key="notification"
android:title="@string/notification"
android:defaultValue="true"/>
</PreferenceScreen>

最佳答案

原因

我注意到一些不同的事情可能会导致我的 SwitchPreference 对象的动画丢失:

  1. 如果 SwitchPreference 是设置 Activity 中的第一个 Preference

  2. 如果我扩展 SwitchPreference 并改用它 (post describing a similar problem)。

修复

为了避免第一个问题,我创建了一个 DummyPreference 类,我将其用作 PreferenceScreen 中的第一个 Preference。示例如下。

DummyPreference.java

public class DummyPreference extends Preference
{
public DummyPreference(Context context,AttributeSet attrs)
{
super(context,attrs);
}

@Override
public View getView(View convertView,ViewGroup parent)
{
View v = new View(getContext());
v.setVisibility(View.GONE);
return v;
}
}

pref_whatever.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<com.exaple.DummyPreference/>
<!-- other preference controls here -->
</PreferenceScreen>

为了避免第二个问题,我不得不求助于在 XML 中使用 android 的普通旧 Preference 类,并将所需的任何额外逻辑移动到 ActivityFragment 包含 Preference 对象。

我知道这是一个旧帖子。我只是希望它能在将来帮助其他人。

关于android - 为什么 SwitchPreference 在从开到关切换时不显示动画,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887962/

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