迭代通过ImageButtons提供焦点Android

时间:2012-06-19 03:44:02

标签: android imagebutton

我为脑瘫女孩开发了一个软件。她在我们的平板电脑中使用它与我和我的妻子“沟通”。

非常好。这是一堆“动态”创建的ImageButtons。我的意思是只是夸大XML代码。

以下是图片示例:

Sample image from my software

我是为女儿创造的。

我有一位患有肌萎缩侧索硬化症(ALS)的朋友。这是一种可怕的致命疾病。他只能移动一根手指,我希望他能够使用相同的软件。

为了做到这一点,我必须“遍历”每个ImageButton,当他想要的那个被聚焦时,他将“点击”鼠标来激活它。

我尝试使用此处描述的内容:

http://developer.android.com/guide/topics/ui/accessibility/apps.html

但它没有用。关于如何做到这一点的任何想法?这对我的ALS朋友来说真的很有用。

以下是我创建ImageButtons的方法:

btn = (ImageButton) LayoutInflater.from(
getBaseContext()).inflate(
R.layout.imagebuttonstyle, fl, false);

我只是使用“OnTouch”事件来处理点击。 imagebuttonstyle只是一个声明ImageButton的XML文件。

那么,你们觉得怎么样?我如何迭代项目,确保当他想要的人聚焦时,当我的朋友点击他的鼠标时它会被激活?我可以轻松地遍历所有项目,但这并不能确保用鼠标激活此项目。

任何帮助都非常赞赏!

1 个答案:

答案 0 :(得分:0)

你能使用OnClickListener吗?见this question,我认为这是你可以去的方向。或者,您可以使整个布局可以点击。然后,您可以使用isFocused()来确定要选择的项目。例如:

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linear_layout);
linearLayout.setOnClickListener(this);

@Override
public void onClick(View view){
   if (view == linearLayout){
      if (mingua.isFocused()){
          //mingua action 
      } else if (pao.isFocused()){
          //pao action
      } //etc...
   }

}

如果您可以将线性布局设置为具有单击侦听器,那么我不肯定,但如果这不起作用,您可以添加一个覆盖整个屏幕的不可见按钮作为背景图层并在其上设置onClickListener。祝你好运。