2012-05-07 68 views
0

我有一组按钮,使用户可以在触摸屏上选择某些视图。显示选中的按钮

我想通过在按钮周围显示光环(或任何其他样式)让用户知道哪个视图处于活动状态。我的意思是当按钮被点击时,它的正常状态被改变为不同的样式,但它仍然正常。

我用google搜索和检查在stackoverflow,它是不可能在运行时改变风格。 我怎样才能达到预期的效果? 我有一些愚蠢的想法,我不会实施,除非作为最后的手段,如在相同的位置做两个按钮,并改变他们的知名度。 或者我可以把每个按钮放在它自己的线性布局中,然后设置每个按钮的背景颜色(如果可能的话)。或者一些ImageButton操作也许。

我已经覆盖了正常按下状态的按钮的默认样式。 并设置焦点(当在focusInTouchMode)导致问题,所以这是一个NO(已经尝试过)。

即使风格不能改变,请告诉一些提示,以达到效果,没有必要做风格的方式。我只想让用户知道通过按钮选择了哪个视图。

example image http://img268.imageshack.us/img268/3774/buttonhalo.jpg

回答

1

使用状态列表,并设置其聚焦状态绘制与它周围的环形按钮,然后在运行时说button.requestFocus()。请参阅here了解更多关于状态列表...

+0

设置焦点是我的第一个想法,但我不知道为什么设置用我的代码来解决问题。 –

+0

那就是真正的问题,而不是你目前发布的内容..你为什么不发布你的代码,并告诉我们你有什么尝试.. – ngesh

+0

实际上设置焦点,不会导致这些按钮的问题,但其他一些按钮。当我设置并使用焦点时,如果我使用H/W按钮,它们可以正常工作,但是当我触摸它们时,其他相应按钮的工作方式也不尽相同。他们不会崩溃或任何东西。这就是为什么我认为这不应该与焦点状态。 –

0

,或者你可以像使用::

Button button; 
public void onClick(View v) 
{ 
    button.button.setBackgroundColor(**color**); 
    button.setBackgroundResource(**res**) 
} 
+0

您可能想引用[this](http://stackoverflow.com/questions/3297027/button-setbackgroundcolor-no-highlight-effect) –