2012-11-05 29 views
2

我無法弄清楚關於TextView的一個非常愚蠢的問題! 我有一個簡單的佈局,ButtonTextView。這是佈局:Android:TextView沒有得到關注

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:text="Button1" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/button1" 
    android:focusable="true" 
    android:clickable="true" 
    android:text="TextView1" 
    android:textAppearance="?android:attr/textAppearanceMedium"/> 

當按鈕具有焦點,並且我按在模擬器上「向下箭頭」 TextView的沒有得到焦點(它不會變成藍色!)爲什麼?請幫幫我!!

+1

爲什麼要'TextView'獲得焦點? –

+1

你想通過製作一個'TextView'來實現你想做的事情嗎? – sankettt

+0

由於該應用程序是爲非觸摸設備開發的,TextView必須是可點擊的(但我不想使用按鈕!)! – user1709805

回答

4

儘管TextView不會變成藍色,但它變得越來越關注。

要查看焦點/未聚焦的情況,可以在文本中定義顏色更改。這樣,這些事件對用戶來說是敏感的。

創建一個.xml文件並將其放入/ res/color/ 在我的情況下,我將該文件命名爲「color_text_view.xml」。

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:state_focused="true" android:color="#00FF00"/> 
     <item android:color="#FF00FF"/> 
    </selector> 

並將android:textColor="@color/color_text_view"添加到文本視圖。

<TextView 
android:id="@+id/textView1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentLeft="true" 
android:layout_below="@+id/button1" 
android:focusable="true" 
android:clickable="true" 
android:text="TextView1" 
android:textAppearance="?android:attr/textAppearanceMedium" 
android:textColor="@color/color_text_view"/> 

希望得到這個幫助!

+0

謝謝Renato ..你非常幫我(你剛剛解釋過的技巧將來對我非常有用)..但是如果我想改變TextView的背景?我試圖用背景替換textColor,但我得到一個運行時錯誤..有沒有辦法做到這一點與此技巧? – user1709805

+0

我不確定這是否有效,但看看:http://stackoverflow.com/questions/2217753/changing-background-color-of-listview-items-on-android –

+0

如果我找到somethig其他,我讓你知道。 –

0

請參閱如果您想將文字設置爲焦點,則可以使用code is true。你的文本處於焦點模式,但顏色不能改變。

如果你改變顏色,那麼它將直接設置,因爲你已經在XML中設置了焦點。所以當應用程序啓動時TextView已處於聚焦模式,以便顏色會發生變化。