我有2个搜索栏A和B,我有2个文本视图C和D. A在移动时编辑C的值,B在移动时编辑D的值。我的代码运行正常。但是我想要它,以便当用户使用A时,搜索栏B变为禁用,同样当用户A使用搜索栏B时,禁用。搜索栏变得不可用的方式是用户点击它以再次使用它。因此,如果我使用搜索栏A,那么B将被禁用然后如果我触摸搜索栏B它将被启用然后A将被禁用。或者即使它将当前为蓝色的搜索栏颜色改为浅灰色以给出其被禁用的错觉也许是另一种方式。纽伊我试过这个。 对于seekbar A
@Override
public void onStartTrackingTouch(SeekBar seekbar) {
// TODO Auto-generated method stub
seekbarB.setEnabled(false);
seekbarA.setEnabled(true);
}
@Override
public void onStopTrackingTouch(SeekBar seekbar) {
// TODO Auto-generated method stub
seekbarB.setEnabled(true);
seekbarA.setEnabled(true);
}
和搜索栏B
@Override
public void onStartTrackingTouch(SeekBar seekbar) {
// TODO Auto-generated method stub
seekbarB.setEnabled(true);
//seekbarA.setEnabled(false);
}
@Override
public void onStopTrackingTouch(SeekBar seekbar) {
// TODO Auto-generated method stub
seekbarB.setEnabled(true);
seekbarA.setEnabled(true);
}
但是然而这种方式有效,但是当用户停止使用任一个搜索栏时,已经被禁用的那个已经被禁用了,我不想要,除非用户触摸它。现在,我知道你的想法是什么,不要在触发过程中设置导向条。好吧,我试过了,被禁用的搜索栏永远不会被启用,即使你触摸它我甚至为每个搜索栏实现了一个ontouchlistener,看它是否会变得活跃,但它没有。 所以我有三种方式可以帮助我。 1.有没有办法编辑我上面的方法,让它按照我想要的方式工作? 2.我在哪里可以使用我的启用搜索栏方法,以便只有当用户触摸时,搜索栏才会变为活动状态,从而实现我上面所说的内容? 3.有没有办法在java中更改自定义搜索栏颜色以实现我想要的
答案 0 :(得分:0)
您可以尝试以下操作:将SeekBar
放入Layout
包裹SeekBar
并将OnTouchListener
放在Layout
上,然后重新当用户触摸SeekBar
时启用Layout
。
SeekBar
的颜色无法轻易更改(您需要创建彩色资源,请参阅this site以生成此类资源)。
如果您想与用户沟通,他一次只能使用一个SeekBar
,我会,而不是使用
seekbar.setEnabled(false)
只需减少SeekBar
的alpha值,使其“苍白”。使用seekBar.setAlpha()
或者,如果您想要定位API级别< 11,使用this library的ViewHelper类。