问题标签 [android-selector]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 选定视图的默认选择器
我认为这个问题说明了一切:如果我调用,是否有一个默认选择器@android/drawable
可以设置为我的视图的背景:
我想使用android的默认颜色,但在自定义选择器中我只能添加自己的drawables。是否有默认选择器?或者我可以访问默认的可绘制对象,以便我可以在我自己的选择器中使用它们?
我试过了,android:background="?android:attr/selectableItemBackground"
但如果我打电话view.setSelected(true);
什么也没发生。
android - Android:在选择器中使用属性
我正在尝试创建一个使用由所选主题定义的属性的选择器。
attrs.xml
选择器.xml
主题:
部分布局文件:
显现
布局文件被setContentView
方法膨胀。
现在的问题是 textcolorRED
处于未按下状态(按下时为黑色)。似乎找不到buttonTextColor
并使用默认值RED
(?)
已经尝试将主题设置为应用程序上下文,但没有运气..
提前致谢。
android - 在 ExpandableListView 中为父项和子项使用自定义选择器
我有看起来像这样的可扩展列表:
橙色项目是子项,当您按特定父项时显示。蓝色项目是父母。我使用这个自定义适配器来创建这个:(我在论坛的某个地方选择了这个源代码)
这些是 xml 文件:
list_item.xml
list_group.xml
这就是我指定实际列表的方式:
这是按钮按下的选择器:
最近我改变了整个应用程序的外观,在我在列表中的项目上添加这些边框之前一切都很好。但现在我想改变选择器对组项目的行为方式(仍然使用矩形),并且对孩子不同(使用某种椭圆来填充这个橙色椭圆而不是列表项的整个矩形)
我怎样才能做到这一点?我想我可以设法制作带有形状的 xml 可绘制对象以放在选择器上,但是我如何分离父选择器和子选择器?
编辑:如果您需要任何其他源代码,请发表评论。
进步:
在@Omar 的帮助下,我设法创建了适用于组选择器的代码。(但是使用两个线程来实现选择器消失的效果有点愚蠢,我必须通过activity中的静态引用来访问它)
我还发现可以通过修改选择器 xml 中的第一项来实现这一进展(上图)。那么有没有办法在该xml中为选择器指定子选择器?
android - Android - 以编程方式设置背景选择器状态
我有一个包含 EditText 和 ImageView 的线性布局。我给 EditText 一个 @null 背景,并给 LinearLayout 一个背景:
使它看起来像整个事情是一个小部件。当 EditText 获得焦点/被选中时,我想更新线性布局的背景可绘制对象以显示整个内容已被选中。
我的线性布局的布局 XML:
这是我用来尝试在 EditText 聚焦时更改 LinearLayout 的背景状态的代码:
除了使用 FOCUSED_STATE_SET,我还尝试了以下方法:
以上似乎都没有将 LinearLayout 的背景更改为蓝色下划线。任何帮助,将不胜感激!
android - ListView 中自定义可检查元素的初始状态“已检查”
我正在尝试使用自定义“可检查”元素构建清单。我能够显示列表,选中复选框(它是一个 ImageView)并将每个复选框的状态保存在数据库中。
不幸的是,当我打开一个清单时,我想用一些选中的复选框来初始化清单,但我不能。它不起作用。
截图
这是我打开清单时的屏幕:
图例:显示一个未选中每个复选框的清单的 android 屏幕
我使用 .setEnabled(true/false) 方法来直观地显示不同的状态(用于调试目的)。
基本上,当我作为用户勾选复选框时,它看起来像这样:
图例:选中复选框的 android 屏幕
等级制度
- 源代码
- com.checkit.app(包)
- CheckableLinearLayout.java
- 任务活动.java
- TasksAdapter.java <= (我认为问题可以在这个文件的某处解决)
- [...]
- 资源
- 可绘制的
- ic_hideable_item.xml
- 可绘制的 mdpi
- btn_check_off.png
- btn_check_on.png
- [...]
- 布局
- 活动任务.xml
- task_items.xml
- [...]
代码
任务适配器.java
CheckableLinearLayout.java
ic_hideable_item.xml
活动任务.xml
task_items.xml
更多的
以下是我想说的一些事情:
checkboxGlobal.setEnabled(true);
正如我们在屏幕截图(灰色标题)中看到的那样,效果很好。但checkboxGlobal.setChecked(true);
似乎没有效果(?)- 有一次,我试过
Drawable drawable = convertView.getResources().getDrawable(R.drawable.ic_hideable_item);
跟着checkboxImg.setImageDrawable(states);
. 使用选中的复选框初始化复选框可以完美地工作,但是无法取消选中该框。
编辑 2014-03-12:我的代码基于来自“Android 开发者”网站的官方代码示例(参见项目“CustomChoiceList”,可在此处获得:http: //developer.android.com/samples/CustomChoiceList/index.html。 html ).
编辑 2014-03-13 :删除不必要的代码,以提高可读性
在此先感谢您的帮助。随意询问您是否需要更多代码。真诚的,托尼
android - Android 颜色列表选择器可以级联吗?
如果我有一个名为 color_list_1 的颜色列表,如下所示:
我希望能够创建另一个名为 color_list_2 的颜色列表:
这允许我做的是有一个控件 Foo,它使用 color_list_1 作为颜色。现在我可能想创建一个名为 AmazingFoo 的子类,我想保持与 Foo 相同的外观,除了我还想给它添加一个按下的颜色。
我已经尝试过了,但似乎在使用 color_list_2 作为颜色时,color_list_1 中的状态被忽略了。这意味着按下状态有效(因为它直接在 color_list_2 中)但是当它回退到 color_list_1 时,焦点状态始终为 false,因此返回默认颜色。
我知道控件没有问题,因为使用 color_list_1 效果很好。只有当我将它级联到另一个颜色列表中时,所有状态才会返回 false。
android - 如何从布局视图触发选择器?
问题
假设您在布局视图中有一个视图,并且您希望布局上的每个触摸事件都会影响视图的背景选择器。
例如,当您触摸布局时,视图的选择器将选择 state_pressed 状态。
我试过的
我已经阅读过有关 duplicateParentState 和 addStatesFromChildren 的信息,但我认为这与我正在寻找的相反。
我也尝试过使用 splitMotionEvents,但没有帮助。
问题
你怎么做到这一点?
此外,如果布局位于 listView 内(作为其中的一个项目),应该怎么做?
android - StateListDrawable padding
I have problem with padding in StateListDrawable.
If for some in my styles i define reference on some <selector>
with image resources, it set some wrong padding for my 9path images. By the way i set particular image - all is ok. But otherwise, android create StateListDrawable
for my <selector>
and (as i saw by using debugger on sources) it get padding by use method:
and return wrong values (in my case it not null or 0). This method use mVariablePadding variable:
But i can't set it false in resources (maybe i did something wrong).
Does someone know solution for this problem? Thanks!
android - Android ImageView 选择器不起作用
这是我的选择器:
这就是我在 ImageView 上应用它的方式:
现在,问题是,当我按下 ImageView 时,相应的状态可绘制图像不会改变。我已经在其他 wigdet 上尝试过,也不起作用。我不知道为什么,因为我曾经这样做过,而且它有效。
当它被点击时,我已经监控了 imageview 的状态。
v.hasFocus():假,v.isClickable():真,v.isInTouchMode():真,v.isEnabled():真,v.isPressed():真
我犯了一个可怕的错误,white_small_down_arrow_v4 和 white_small_up_arrow_v4 实际上指向同一个方向,换句话说,它们是同一张图片。
所以,如果他们发现选择器不起作用,可能我的错误会对其他人有所帮助,首先要做的是检查状态可绘制对象是否相同......
android - Android:相对布局选择器不起作用
我正在使用带有选择器资源 xml 的相对布局来突出显示点击时的相对布局。但它不会突出显示点击时的相对布局。下面我放了相应的选择器 xml、布局 xml 和可绘制对象。
布局代码片段:
选择器 xml 文件:
请在这件事上给予我帮助,
先感谢您。