Articles of android selector

Android – 删除Spinner下拉箭头

我只是想知道是否可以简单地删除微调器的下拉箭头? 我在我的微调器的背景布局中有一个可绘制的箭头,但是系统默认箭头出现在微调器的右侧,我想摆脱它。 这是我的活动布局的微调器xml代码 我的自定义微调器布局如下所示: 谢谢!

如何使用选择器在android中着色imageview

我想使用xml为我的tabhost图标着色,而不是以编程方式进行(我无论如何都无法做到)…所以我在SO上find了这个post: Android imageview更改色调来模拟按钮点击 这似乎是一个非常好的解决方案,但我无法在我的项目中正确调整它……我做了以下更改: public class TintableImageView extends ImageView { private ColorStateList tint; public TintableImageView(Context context) { super(context); } //this is the constructor that causes the exception public TintableImageView(Context context, AttributeSet attrs) { super(context, attrs); init(context, attrs, 0); } public TintableImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context, attrs, defStyle); } //here, […]

Android:你有一个涟漪效应,其默认状态颜色是透明的吗?

像下面的东西,但它不起作用。 如果我将可绘制颜色切换为蓝色,它可以工作。

如何实现自定义select器状态的CustomView?

我想创build一个显示图像的CustomView 。 点击视图应该改变它的状态。 视图可以表示三种状态(closures,设置,未设置) 。 我想用XML中的select器来做到这一点。 它并不需要成为一个自定义select器。 我可以重用select器的三种状态(不pipe状态的名称是不同的)。 有没有一个很好的方法来实现这一目标?

android:attr / selectableItemBackground与另一个现有的背景

我有一个9patch设置为我的布局的背景。 不过,我仍然想通过使用selectableItemBackground attr提供触摸反馈。 我已经尝试使用9patch和selectableItemBackground作为第二个<item>的android:drawable的<layer-list> <item> ,但是这并不起作用。 我也可以尝试制作一个select器,并使用<layer-list>覆盖android可用的selectableItemBackground list_selector_background_pressed.xml的渐变drawable。 但在4.4 KitKat所选的背景颜色实际上是灰色,而不是蓝色的果冻豆,所以我不能真正的硬编码:( 必须有一个更简单的方法,对吗? d:

从这些略有不同的状态drawables的任何行为差异?

Q1)查看listSelector原始ListView状态drawable,我们有这样的事情(我剥去了一些代码来简化例子): <selector> <item android:drawable="<TRANSPARENT>" android:state_window_focused="false"/> <item android:drawable="<DRAWABLE_1>" android:state_focused="true" android:state_pressed="true"/> <item android:drawable="<DRAWABLE_1>" android:state_focused="false" android:state_pressed="true"/> <item android:drawable="<DRAWABLE_2>" android:state_focused="true"/> </selector> 但我一直在我的应用程序上这样做: <selector> <item android:drawable="<DRAWABLE_2>" android:state_pressed="false" android:state_focused="true"/> <item android:drawable="<DRAWABLE_1>" android:state_pressed="true"/> <item android:drawable="<TRANSPARENT>" /> </selector> 这似乎产生相同的结果,它更简单。 你有没有注意到第一个比我自己的版本更好的情况? 我只是想确保我不会错过一些重要的事情,因为我希望保持我的代码尽可能短。 Q2)我看到许多状态可绘制的作为顶部项目,但我不明白为什么它需要<item android:drawable="<TRANSPARENT>" android:state_window_focused="false"/> 。 state_window_focused总是困惑了我一下…是否真的有必要?

具有圆angular的Android SlidingTabs样式选项卡

我正在使用SlidingTabs来创build两个选项卡。 标签的UI应该像这样出现 – 当第一个标签被选中 当select第二个标签时。 (请注意蓝色矩形的直angular) 我正在使用下面的select器来创build上面显示的用户界面。 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!– Active tab –> <item android:state_selected="true" android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/round_corner_rectangle" /> <!– Inactive tab –> <item android:state_selected="false" android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent" /> <!– Pressed tab –> <item android:state_pressed="true" android:state_selected="true" android:drawable="@drawable/round_corner_rectangle" /> <item android:state_pressed="true" android:state_selected="false" android:drawable="@color/transparent" /> <!– Selected tab (using d-pad) –> <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@android:color/transparent" /> […]

带有GridView的Android drawSelectorOnTop

我正在开发一个选项卡式应用程序,其中一个片段CollectionsFragment包含一个GridView和一个ImageView在每个插槽中。 我希望使用select器在用户点击其中一个图像时向用户提供反馈。 我已经成功地实现了select器,但是,我的问题是select器只是在图像的背景中绘制,但我希望select器绘制整个图像。 我已经看到这个问题引用其他地方,但是,许多select的解决scheme,设置GridView的drawSelectorOnTop属性,不适合我。 与相关的适配器代码相关的片段: public class CollectionsFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_collections, container, false); // Grid view is inside the xml view inflated above GridView gridView = (GridView)view.findViewById(R.id.gridview); gridView.setDrawSelectorOnTop(true); ((GridView) gridView).setAdapter(new CustomGridViewAdapter(getActivity())); return view; } private class CustomGridViewAdapter extends BaseAdapter { @Override […]

Android – 删除微调下拉箭头

我只是想知道是否可以简单地删除微调箭头下拉箭头? 在我的微调器背景布局中有一个可绘制的箭头,但系统默认的箭头出现在微调器的右侧,我想摆脱。 这里是我的活动布局的微调xml代码 <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spinnerSelectStaff" android:layout_gravity="center_horizontal" android:layout_marginLeft="18dp" android:layout_marginRight="18dp" android:gravity="center" android:dropDownSelector="@drawable/empty"/> 而我的自定义微调器布局如下所示: <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:gravity="center" android:textSize="20sp" android:background="@drawable/spinner_text_shape" android:drawableRight="@drawable/ic_keyboard_arrow_down_black_24dp" android:textColor="@color/primary_text" /> 谢谢!

TabLayout selected启动时未选中选项卡图标:

我在我的应用程序中使用TabLayout作为Tabbed导航。 我有一个很奇怪的问题,我用这个代码创build了4个选项卡: private int[] tabIcons = {R.drawable.navigation_timeline_icon_selector, R.drawable.navigation_feed_icon_selector, R.drawable.navigation_messages_icon_selector, R.drawable.navigation_notification_icon_selector}; TabLayout tabLayout = setTabLayout(); if (tabLayout != null) { for (int i = 0; i < 4; i++) { tabLayout.getTabAt(i).setIcon(tabIcons[i]); } } tabIcon中的每个项目都是具有选定状态和未select状态的selector 。 所有图标select器configuration如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/navigation_timeline_selected_icon" android:state_selected="true"/> <item android:drawable="@drawable/navigation_timeline_selected_icon" android:state_pressed="true"/> <item android:drawable="@drawable/navigation_timeline_icon" /> </selector> 问题是当应用程序启动时,第一个选定的选项卡(索引0)不使用选定的状态图标。 相反,它使用非select状态。 这里要更多地解释一下这个问题的截图,首先启动我的标签,看起来像这样: 相反,它应该是这样的: 在更改页面后,所有图标都会回到完整function,并且select的状态正确select。 […]