Tag: switchcompat

onCheckedChanged自动调用

我在回收站查看了一个开关,从数据库检索数据后,数据显示在recyclerview中。 当回收站打开时,我读DB,如果DB中的一个字段是“Y”,我启用开关,否则我禁用开关。 现在的问题是与此同时onCheckedchanged侦听器也被称为,我想只有当用户手动设置开关时调用onCheckedChanged。 打开下面的回收站时执行: holder.enabledisable.setChecked(messengerRecord.get_is_valid().equalsIgnoreCase("Y")); ViewHolder类: public class viewHolder extends RecyclerView.ViewHolder implements CompoundButton.OnCheckedChangeListener{ public SwitchCompat enabledisable; public viewHolder(View v) { enabledisable = (SwitchCompat) v.findViewById(R.id.enabledisable); enabledisable.setOnCheckedChangeListener(this); …………………………….. …………………………….. 刚刚打开recyclerView时调用的OncheckedChanged方法: @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Log.v("ranjith","called oncheckedchanged"); MessengerRecord rec; rec = dbHelper.getRecord(descview.getText().toString()); switch (buttonView.getId()) { case R.id.enabledisable: if (isChecked) { rec.set_is_valid("Y"); dbHelper.updateRecord(rec); } } […]

如何改变SwitchCompat的轨道颜色

我试过使用下面的链接来改变SwitchCompat的颜色: 如何改变一个SwitchCompat的颜色 注意我的开关中的低对比度: 但是,在更改所有相关的颜色值后,SwitchCompat的轨道(较亮的灰色)保持不变。 除了颜色,我不想改变外观。 拇指是粉红色的,我希望轨道有一些对比。 我想在我的styles.xml中定义一个值吗? 我试过这些值(随机的非白色): <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/first</item> <item name="colorPrimaryDark">@color/second</item> <item name="colorAccent">@color/third</item> … <item name="colorControlActivated">@color/first</item> <item name="colorControlHighlight">@color/first</item> <item name="colorControlNormal">@color/second</item> <item name="colorSwitchThumbNormal">@color/second</item> <item name="colorButtonNormal">@color/second</item> …>

如何改变一个SwitchCompat的颜色

我在我的应用程序中有几个不同颜色的开关,并改变他们的颜色我用每个开关的自定义可绘制select器。 当新的AppCompat v21库发布时,有一个新的android.support.v7.widget.SwitchCompat控件。 是否可以改变一个SwitchCompat的颜色,而不使用drawables,例如使用XML或代码?