簡體   English   中英

在android中的自定義鍵盤中按下另一個按鈕后,重置先前按下的按鈕的顏色

[英]reset the color of a previously pressed button after another button is pressed in custom keyboard in android

我有一種情況。我創建了一個自定義鍵盤。 在其中我必須添加功能,例如當用戶單擊按鈕時,按鈕的顏色將改變,並且當用戶單擊鍵盤上的下一個按鈕時,應重置上一個按鈕的顏色,並應更改當前按下的按鈕的顏色。

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>

創建一個名為reset()的函數,然后從onClick方法調用它。

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);
     }
 }

通過按鈕調用它

@Override public void onClick(View v) { 
reset(v); 
v.setBackgroundResource(R.drawable.buttonselector); 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM