我想要一个可点击的TextView,它可以改变颜色并保持它,将以前更改的文本更改回默认颜色.当然,我希望在每个TextView被"检查"时更改一些状态.基本上是一个TextView,就像一个RadioButton,或一个RadioButton减去按钮.
起初我试图从TextView角度来看.但似乎使用RadioButtons并添加文本行为更容易,因为无论如何RadioButtons扩展TextView.
所以我将这个颜色资源应用于每个RadioButton:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="#0000ff" />
<item android:state_focused="true" android:state_pressed="true" android:color="#0000ff" />
<item android:state_focused="false" android:state_pressed="true" android:color="#0000ff" />
<item android:state_checked="true" android:color="#0000ff" />
<item android:color="#ff00ff00" />
</selector>
Run Code Online (Sandbox Code Playgroud)
这让我得到了我想要的文字行为.现在我只需要隐藏RadioButton本身的方法.理想情况下,这将是XML格式,因此我可以将样式应用于各种RadioButton,但我不会在RadioButton扩展名上嗤之以鼻.
那么,有谁知道如何隐藏RadioButton按钮本身?
我正在尝试在操作栏中放置一个下拉/下拉搜索栏.我认为这样的东西OnCreateOptionsMenu()会起作用:
SubMenu subMenu = menu.addSubMenu("DropTest");
MenuItem seekBarDrop = subMenu2.add("SeekBar");
SeekBar seekBar = new SeekBar(this);
seekBarDrop.setActionView(seekBar);
seekBarDrop.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
MenuItem subMenuItem = subMenu2.getItem();
subMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
Run Code Online (Sandbox Code Playgroud)
但它失败了.我也试过将它黑客入一个微调器适配器(使用IcsSpinner for actionbarsherlock):
ArrayAdapter<CharSequence> seekAdapter =
new ArrayAdapter<CharSequence>(context,
R.layout.spinner_subtitled_octave,
android.R.id.text1, new String[]{""});
seekAdapter.setDropDownViewResource(R.layout.seekbar);
MenuItem itemX = menu.add("SeekBar").setActionView(R.layout.spinner_ics);
itemX.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
IcsSpinner spinBar = (IcsSpinner) itemX.getActionView();
spinBar.setAdapter(seekAdapter);
/*
* This next part doesn't crash, but it also doesn't work
*/
LinearLayout sbLayout = (LinearLayout)
seekAdapter.getDropDownView(0, null, null);
SeekBar seekBar = (SeekBar) sbLayout.findViewById(R.id.v_seekbar);
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
@Override
public void onProgressChanged(SeekBar seekBar, int …Run Code Online (Sandbox Code Playgroud)