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

2023-11-23

我做了一个SwitchPreference对于我的应用程序preferences.

问题是SwitchPreference当我在打开和关闭之间切换时,它没有显示动画,而是突然猛烈地切换。

Here's 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>

Causes

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

  1. if the SwitchPreference是第一个Preference在设置活动中。

  2. 如果我延长SwitchPreference并使用它来代替(描述类似问题的帖子).

Fixes

为了避免第一个问题,我创建了一个DummyPreference我用作第一个类Preference in the PreferenceScreen反而。下面的例子。

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>

为了避免第二个问题,我不得不求助于使用 android 的普通旧版PreferenceXML 中的类,并且我将所需的任何额外逻辑移至Activity or Fragment含有Preference对象。

我知道这是一个旧帖子。我只是希望它将来可以帮助别人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 SwitchPreference 在从打开切换到关闭时不显示动画,反之亦然? 的相关文章

  • 合并两个位图图像(并排)

    任何人都可以帮助将两个位图图像合并为单个位图 在android中 并排 谢谢 尤瓦拉吉 您可以使用Canvas 查看这篇文章 http www jondev net articles Combining 2 Images in Androi
  • 如何改变android中menuItem的背景颜色?

    我正在以编程方式将菜单项添加到菜单中 我想在选择特定项目时添加背景颜色 如何为 menuItem 添加背景 您的回答将不胜感激 虽然其他答案提供了更改样式 这会影响all菜单项 据我了解 需要更改一个菜单项 我建议你使用android ac
  • 查找回收器视图中的第一个可见项目是否是列表的第一项

    我有一个包含 13 个数据项的回收器视图 我想知道列表中的第一项是否可见 我知道像这样的方法findFirstVisibleItemPosition and findLastVisibleItemPosition但他们没有说明第一个可见项目
  • 直接将 XML 写入磁盘并附加元素

    我正在尝试编写一个 XML 文件 但它太大而无法存储在内存中 因此我想将其直接写入磁盘 我尝试过使用 XmlWriter 但没有功能使我能够附加到文件末尾 因此我愿意使用常规文件编写器来编写 XML 原始数据 有谁知道任何文件写入类使我能够
  • 在 Android 中的活动、服务和应用程序之间传递变量

    有人可以给我提供以下活动 服务 应用程序组合的示例吗 我拥有这三个 但我已经把我的应用程序弄得一团糟 试图在这个地方传递一堆变量 现在我不知道发生了什么 请注意 我是 Android 新手 最近我一直在努力解决这个问题 因为有很多方法可以实
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • OpenCV InRange 参数

    我在 Android 上使用 OpenCV 来实时查找特定颜色的圆圈 我的第一步是仅保留与我正在寻找的定义颜色相对应的像素 在本例中为红色或绿色 示例图像 https i stack imgur com CIozU jpg 为此 我正在使用
  • 无法将 Tesseract OCR 模块添加到 Android Studio

    我按照此处找到的分步指南进行操作 https www codeproject com Articles 840623 Android Character Recognition https www codeproject com Artic
  • Android - 除了普通 SSL 证书之外还验证自签名证书

    我有一个通过 SSL 调用 Web 服务的 Android 应用程序 在生产中 我们将拥有由受信任的 CA 签名的普通 SSL 证书 但是 我们需要能够支持自签名证书 由我们自己的 CA 签名 我已经成功实施了接受自签名证书的建议解决方案
  • 如何将单选按钮状态保存到已保存/共享首选项?

    我可以在保存的首选项中保存字符串 但很难保存单选按钮 public class PersonalDetailsf extends Activity private SharedPreferences sharedPreferences pr
  • 使用php将文本文件转换为xml?

    data txt ha15rs 250 home2 gif 2 ha36gs 150 home3 gif 1 ha27se 300 home4 gif 4 ha4678 200 home5 gif 5 我想使用 php 使用 simplex
  • Locale.getDefault().getCountry() 返回空字符串

    我正在尝试使用国家 地区代码获取用户语言 例如en US es es 但是当我使用Locale getDefault getCountry 它返回空字符串 虽然它给了我正确的语言Locale getDefault getLanguage N
  • 版本 5 上带有 getBackground().setAlpha 的按钮 - 棒棒糖无法正常工作

    我有这段代码 适用于自 API 14 以来的每个版本 但在 Android 5 0 Lollipop 上无法正常工作 以下是我希望按钮出现的方式 单击按钮1 buttonArrivals getBackground setAlpha 180
  • 如何在 WebView 中添加 JavaScript 函数并稍后在提交 reCAPTCHA 时从 HTML 调用它

    我在 WebView 中添加一个 JavaScript 函数 如下所示 Kotlin val webView findViewById R id webview as WebView webView getSettings setJavaS
  • Android:如何使视图增长以填充可用空间?

    这看起来很简单 但我不知道该怎么做 我有一个带有 EditText 和两个 ImageButtons 的水平布局 我希望 ImageButtons 具有固定大小 并且 EditText 占据布局中的剩余空间 如何才能做到这一点
  • 带有空白白屏的 WebView

    我在 DialogFragment 中有一个 webview 它使用以下方式显示文档和 PDF它可以进行几次尝试 但如果用户尝试频繁打开和关闭对话框 webview 将显示空白屏幕 我已经尝试了所有的线程link1 https stacko
  • 如何更改锁屏自定义文本(所有者信息)?

    我写了程序代码 String message This is test Settings System putString context getContentResolver Settings Secure LOCK PATTERN EN
  • 按名称查找视图

    是否可以通过名称而不是 id 来查找视图 findViewById R id someView 但我想做这样的事情 findViewByName someView 在处理 xml 时 您必须通过标识符查找视图 但是您可以使用以下方式查找标识
  • 基于BluetoothChat示例通过蓝牙套接字发送文件

    大家好 根据我之前问的一个问题 我已经能够将文件转换为其他字节数组 以便使用以下写入方法 public void sendFile Log d TAG sending data InputStream inputStream null Ur
  • 修改 ADW Android 启动器?

    我想更改和修改开源 ADW 启动器 启动器可在此处获取 https github com AnderWeb android packages apps Launcher https github com AnderWeb android p

随机推荐

  • opencv - 视频编写器控制比特率

    我有一个可用的 python 脚本 它使用 opencv 的视频编写器 source https gist github com stanchiang b4e4890160a054a9c1d65f9152172600 如果我接收一个文件 无
  • 如何在.Net 中处理多达 100k HTTP 连接

    我正在创建一个服务器来监视网页上客户端的在线状态 将同时监控 80 100 000 八万 个客户端 我正在使用 Net 来编写此内容 客户端将使用 JavaScript 在 HTML 页面上 联系 单独的 服务器 告诉服务器它们处于活动状态
  • 为什么mov指令使用ax而不是直接使用两个段寄存器?

    我看到这样的代码 mov ax cs mov ds ax mov es ax 为什么我不能将其压缩为 mov ds cs mov es cs 由于使用累加器寄存器 第一种方法是否更快 但这似乎不直观 因为 cs 和 ds 是段寄存器 还是有
  • URL 编码将“&”(与号)视为“&”HTML 实体

    我正在对将在 URL 中传递的字符串进行编码 通过 GET 但如果我使用escape encodeURI or encodeURIComponent 将被替换为 26amp 3B 但我希望将其替换为 26 我究竟做错了什么 如果没有看到你的
  • 将字符串转换为带有时区java的适当日期

    我正在与它的时区进行约会 我想将其转换为另一个时区 例如我的日期为 3 15 2013 3 01 53 PM 位于时区 GMT 06 00 我想将其转换为 GMT 05 00 时区 我进行了很多搜索 但我对 Date 的实际工作原理感到困惑
  • JSF 使用 EL 测试全局消息的存在

    我尝试仅在 JSF 队列中有全局消息时才显示块 我尝试使用rendered not empty facesContext getMessageList null 但它总是被评估为 false 我发现的唯一方法是创建一个自定义 EL 函数并在
  • 如何将 Flutter 画布保存为位图图像?

    我有一个颤振canvas 我想将该画布保存为位图图像 例如 PNG 但任何常见的位图格式都可以 将画布中的位转换为位图图像格式的最佳方法是什么 创建一个PictureRecorder 创建一个Canvas和你的PictureRecorder
  • 制作实时时钟 javascript

    有谁知道如何让实时 JavaScript 时间运行 我有这个 php 代码 expiredate date d m Y G i s rdate1 f ex date explode expiredate f ex time explode
  • Common Lisp 中 eq、eql、equal 和 equalp 之间有什么区别?

    有什么区别eq eql equal and equalp 在 Common Lisp 中 我知道其中一些检查类型 一些检查跨类型等等 但哪个是哪个 什么时候使用其中一种比其他更好 From Common Lisp 等式谓词 eq x y 为
  • 在 emacs 中,cl-flet 和 cl-letf 有什么区别?

    据我了解 两者都是用来临时改变函数的值 超越事实cl flet是一个函数并且cl letf是宏 什么时候使用它们 绑定可以是递归的 如果函数定义用名字称呼自己 哪个函数会被调用 比较cl flet vs cl labels行为 范围是词汇上
  • HTML5 格式的 YouTube 视频

    如何播放 HTML5 格式的 YouTube 视频 这可能就是您正在寻找的 强制 HTML5 YouTube 视频 如果用户选择加入 则可以播放 HTML5 视频 HTML5 默认视频 请注意 html5 1
  • 确保所有 TThread.Queue 方法在线程自毁之前完成

    我发现如果一个方法排队TThread Queue调用一个方法 该方法调用TApplication WndProc e g ShowMessage 然后允许在原始方法完成之前运行后续排队的方法 更糟糕的是 它们似乎不是按 FIFO 顺序调用的
  • Ruby Net::FTP 超时线程

    我试图通过使用线程 FTP 连接来加速多个 FTP 下载 我的问题是我总是有线程挂起 我正在寻找一种干净的方法来告诉 FTP 它需要重试 ftp 事务 或者至少知道 FTP 连接何时挂起 在下面的代码中 我对 5 6 个单独的 FTP 连接
  • 有没有办法检查脚本是否在 dart vm 或 dart2js 中运行?

    有没有办法检查脚本是否在 dart vm 或 dart2js 中运行 也许使用镜像API 没有official据我所知 其目的是 出于所有实际目的 您不必知道您是在本机运行还是编译为 JavaScript 也就是说 您可以使用的技巧很少 最
  • 如何从 PHP 字符串中提取标题标签?

    如何从包含大量 HTML 的字符串中提取所有文本 h1 h2 etc标签到一个新变量 我想捕获这些元素中的所有文本并将它们作为逗号分隔值存储在新变量中 是否可以使用preg match all 首先 您需要使用 tidy 清理 HTML 示
  • gitlab 没有遥控器/原点/HEAD

    我对 git 还很陌生 但我一直在我设置的远程服务器上使用它 并且我很确定我了解基础知识 我刚刚设置了 gitlab 并将我的一些代码推送到了它的一个新项目中 我所做的是 获取目录中的所有代码 git init git 添加 git com
  • 如何使用SignalR向特定用户发送数据?

    我有一个通过 SignalR 接收消息的客户端 它工作得很好 但更像是广播 我希望能够向特定客户发送消息 在客户端 我有一个 userId 并且像这样设置连接 const userId getUserId if userId const b
  • 什么是自然语言处理中的分块器?

    有谁知道文本处理上下文中的分块器是什么以及它的用途是什么 根据这些幻灯片 分块是解析的一种替代方法 它提供了句子的部分句法结构 具有有限的树深度 而不是完整的解析 它比完整解析受到更多限制 但在提取或忽略信息时就足够了 因此被多次使用 因为
  • 通过车把部分传递变量

    我目前正在express js 应用程序中处理handlebars js 为了保持模块化 我将所有模板拆分为部分模板 我的问题 我找不到通过部分调用传递变量的方法 假设我有一个看起来像这样的部分 div h1 Headline h1 p L
  • 为什么 SwitchPreference 在从打开切换到关闭时不显示动画,反之亦然?

    我做了一个SwitchPreference对于我的应用程序preferences 问题是SwitchPreference当我在打开和关闭之间切换时 它没有显示动画 而是突然猛烈地切换 Here s preferences xml文件的代码