2013-08-29 6 views
0

상황이 있습니다. 맞춤 키보드를 만들었습니다. 사용자가 버튼을 클릭 할 때와 같은 기능을 추가해야하는 경우 버튼 색상이 변경되며 키보드의 다음 버튼을 클릭 할 때 이전 버튼의 색상을 재설정하고 현재 눌려진 버튼의 색상을 변경해야합니다.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> 
+0

제 1 리 등의 버튼 클릭에서

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

전화를 모든 버튼을 누른 다음, 새의 색상을 변경합니다. –

+0

u는 어떻게하면 모든 버튼을 재설정 할 수 있는지 알려주실 수 있습니다. 왜냐하면 나는 커스텀 키보드에 많은 버튼을 가지고 있기 때문이다. – suneel

+0

루프를 사용하는 방법은 어떨까? –

답변

1

reset()이라는 함수를 만들고 onClick 메서드에서 호출합니다.

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