2012-12-12 32 views
3

我在Android 2.3.3中有一個應用程序。它有幾個按鈕。我想要一個類似於QWERTY鍵盤的功能(用於按鈕),當我們按下某個鍵或一個字母時,該字符將顯示幾分之一秒,就在該字符出現在鍵盤。關於按鈕在Android中點擊

我們是否有這樣的屬性?

如果沒有這種東西,我使用背景顏色給我的按鈕,很難得到是否點擊按鈕的註釋。我們可以以某種方式使它可見,按鈕被點擊。

+0

我想選擇能夠幫助你這樣做......給你的反饋ser按鈕被點擊..見http://www.mkyong.com/android/android-imagebutton-selector-example/ – Faizan

回答

1

您正在尋找一個選擇器 在您的可繪製文件夾內像這樣做。 要引用它只是將它稱爲可繪製的。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" android:drawable="@drawable/buttonpressed" /> 
<item android:drawable="@drawable/buttonnotpressed" /> <!-- default --> 
</selector> 
+0

使用不同的圖像將得到我的事情..但我認爲會有一個簡單的解決方案。畢竟,它只是點擊按鈕和一個非常基本的動畫... –

+0

是的,這是當你看到一個按鈕點擊大多數情況下點擊一個按鈕時,不同的圖像顯示在一瞬間所發生的一切。即使你點擊一個鍵盤按鈕,也會在按鈕上方顯示一個圖像,顯示它是什麼字母。每次它是一個單獨的圖像。你認爲動畫是什麼?它連續顯示給你一系列不同的圖像,誘使你的眼睛認爲它是流動的。 – doubleA

+0

好的...謝謝!將測試它 –

0

好吧,在我看來,你應該嘗試創建一個描述按鈕不同狀態的XML文件,而不是你目前正在做的事情。

如果您仍然希望按鈕ius按下時將按鈕佈局顯示爲彈出式菜單,則應創建視圖並在攔截MotionEvent.ACTION_DOWN時添加它並在攔截MotionEvent.ACTION_UP時將其刪除。

+0

所以沒有內置的方法或周圍的東西,要完成這個在一個單一的陳述? –

0

使用UI button選擇以下xml

buttonselection.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_focused="false" 
    android:state_selected="false" 
    android:state_pressed="false" 
    android:drawable="@drawable/image you want to display on page load"/> 
<item android:state_focused="false" 
    android:state_selected="true" 
    android:state_pressed="false" 
    android:drawable="@drawable/image you want to display on selection"/> 
<item android:state_focused="true" 
    android:state_selected="false" 
    android:state_pressed="false" 
    android:drawable="@drawable/image you want to display on page load"/> 
<item android:state_focused="true" 
    android:state_selected="true" 
    android:state_pressed="false" 
    android:drawable="@drawable/image you want to display on selection"/> 
<item android:state_pressed="true" 
    android:drawable="@drawable/image you want to display on selection"/> 
</selector> 

以下是與xml綁定代碼:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.yourLayout); 
    ImageButton btYourLayoutBtn = (ImageButton)findViewById(R.id.yourbuttonid); 
    btYourLayoutBtn .setImageResource(R.drawable.buttonselection); 
    btYourLayoutBtn .setOnClickListener(this); 
} 
+0

這是我給你的想法,但它具有按鈕的所有不同狀態。也許失去一個?我相信有6個,但我可能是錯的。對於每種狀態,您都可以顯示不同的圖像。所有這些狀態並不總是需要或使用。例如,您必須有一個方向鍵盤或鍵盤才能選擇一個按鈕而不按下它。只能通過觸摸來選擇按鈕。 – doubleA