首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android自定义键盘按下其他按钮后,重置之前按下的按钮的颜色

android自定义键盘按下其他按钮后,重置之前按下的按钮的颜色
EN

Stack Overflow用户
提问于 2013-08-30 03:19:54
回答 1查看 153关注 0票数 0

我有一个情况,我已经创建了一个自定义键盘。其中我必须添加功能,如当用户点击一个按钮时,按钮颜色将改变,当用户点击键盘上的下一个按钮时,前一个按钮的颜色应该被重置,当前按下的按钮的颜色应该被改变。

代码语言:javascript
复制
here is the my XML code

     <?xml version="1.0" encoding="utf-8"?>
     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/hebrwKeyboardView" android:layout_width="fill_parent"
     android:layout_alignParentBottom="true" android:layout_below="@+id/xsubLayout"
     android:orientation="vertical" android:background="#252625"
     android:visibility="visible" android:layout_height="180sp">
     <TableLayout 
     android:layout_width="fill_parent" android:layout_height="200sp"
     android:orientation="vertical" android:layout_alignParentBottom="true"
     android:clipChildren="true">
     <TableLayout 
     android:layout_width="wrap_content" android:layout_height="200sp"
     android:padding="0sp">
     <TableRow android:layout_width="fill_parent"
     android:layout_height="fill_parent" android:padding="0sp">
     <LinearLayout android:baselineAligned="true"
     android:layout_width="fill_parent" android:layout_height="45sp"
     android:fitsSystemWindows="true">
     <Button android:id="@+id/xQ" android:layout_width="30sp"
     android:layout_height="fill_parent" android:text="Q"
     android:textColor="#000" android:tag="Q" android:padding="0sp"
     android:textStyle="bold"  android:background="@drawable/buttonselector"/>
     <Button android:soundEffectsEnabled="true" android:id="@+id/xW"
     android:layout_width="30sp" android:layout_height="fill_parent"
     android:padding="0sp" android:textColor="#000" android:tag="W"
     android:text="W" android:textStyle="bold" android:layout_gravity="left" />
     <Button android:soundEffectsEnabled="true" android:id="@+id/xE"
     android:layout_gravity="left" android:layout_width="30sp"
     android:padding="0sp" android:layout_height="fill_parent"
     android:text="E" android:tag="E" android:textStyle="bold"
     android:textColor="#000" android:fitsSystemWindows="true" />
     <Button android:soundEffectsEnabled="true" android:id="@+id/xR"
     android:layout_width="30sp" android:layout_gravity="center_horizontal"
     android:layout_height="fill_parent" android:text="R" android:tag="R"
     android:textColor="#000" android:textStyle="bold"
     android:fitsSystemWindows="true" android:ellipsize="marquee" />
     <Button android:soundEffectsEnabled="true" android:id="@+id/xT"
     android:layout_width="33sp" android:layout_height="fill_parent"
     android:layout_gravity="center_horizontal" android:text="T"
     android:tag="T" android:fitsSystemWindows="true"
     android:textColor="#000" android:textStyle="bold"
     android:ellipsize="marquee" />
     <Button android:soundEffectsEnabled="true" android:id="@+id/xY"
     android:layout_width="33sp" android:layout_height="fill_parent"
     android:tag="y" android:layout_gravity="center" android:text="Y"
     android:fitsSystemWindows="true" android:textColor="#000"
     android:textStyle="bold" android:ellipsize="marquee" />
     <Button android:soundEffectsEnabled="true" android:id="@+id/xU"
     android:layout_width="33sp" android:layout_gravity="center_horizontal"
     android:layout_height="fill_parent" android:text="U" android:tag="U"
     android:textColor="#000" android:textStyle="bold"
     android:fitsSystemWindows="true" android:ellipsize="marquee" />
     <Button android:soundEffectsEnabled="true" android:id="@+id/xI"
     android:layout_width="33sp" android:layout_height="fill_parent"
     android:text="I" android:fitsSystemWindows="true" android:tag="I"
     android:textColor="#000" android:textStyle="bold"
     android:layout_gravity="center_horizontal" android:ellipsize="marquee" />
     <Button android:soundEffectsEnabled="true" android:id="@+id/xO"
     android:layout_width="33sp" android:layout_height="fill_parent"
     android:text="O" android:fitsSystemWindows="true" android:tag="O"
     android:textColor="#000" android:textStyle="bold"
     android:layout_gravity="center_horizontal" android:ellipsize="marquee" />
     <Button android:soundEffectsEnabled="true" android:id="@+id/xP"
     android:layout_width="33sp" android:layout_height="fill_parent"
     android:textColor="#000" android:textStyle="bold" android:text="P"
     android:fitsSystemWindows="true" android:tag="P"
     android:layout_gravity="center_horizontal" android:ellipsize="marquee" />
     </LinearLayout>
     </TableRow>
     <TableRow android:layout_width="fill_parent"
     android:layout_height="fill_parent">
     <RelativeLayout android:layout_width="fill_parent"
     android:layout_height="45sp">
     <Button android:layout_alignWithParentIfMissing="true"
     android:soundEffectsEnabled="true" android:id="@+id/xA"
     android:layout_width="30sp" android:layout_centerHorizontal="true"
     android:tag="A" android:layout_gravity="center_horizontal|center_vertical|center"
     android:textColor="#000" android:textStyle="bold"
     android:layout_height="fill_parent" android:text="A"
     android:layout_alignParentLeft="true" android:fitsSystemWindows="true" />
     </LinearLayout>
     </TableRow>
     </TableLayout>
     </TableLayout>
     </RelativeLayout>
EN

回答 1

Stack Overflow用户

发布于 2013-09-02 18:51:15

创建一个名为reset()的函数,并从onClick方法中调用它。

代码语言:javascript
复制
public void reset(View v) {
 // TODO Auto-generated method stub 
for(int i=0; i<mB.length; i++) {
 mB[i].setBackgroundResource(android.R.drawable.btn_default);
     }
 }

通过按钮单击即可调用它

代码语言:javascript
复制
@Override public void onClick(View v) { 
reset(v); 
v.setBackgroundResource(R.drawable.buttonselector); 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18519367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档