2011-07-28 16 views
8

Uzun bir LinearLayout sınıfı için bir renk seçicisini denemeye çalışıyorum, bu yüzden linearLayout hakkında konuşursak, sanırım onun gibi düşünüyorum.LinearLayout üzerindeki seçici rengi

this'daki yönergeleri izledim, yanıtlar şekilleri konuşuyor.

Şimdi ben 3 drawables klasörleri xml: nihayet

normal.xml dosyası

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 
    <solid android:color="#ffffffff" /> 
</shape> 

pressed.xml dosyası

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 
    <solid android:color="#00000000" /> 
</shape> 

ve bg.xml dosyasını

<?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/pressed" /> 
    <item android:state_focused="true" android:drawable="@drawable/pressed" /> 
    <item android:state_selected="true" android:drawable="@drawable/pressed" /> 
    <item android:drawable="@drawable/normal" /> 
</selector> 

Ben erişiyorum Bu şu şekilde:

Drawable d = getResources().getDrawable(context.getResources().getIdentifier("mypackageuri.tProject:drawable/bg", null, null)); 
    view.setBackgroundDrawable(d); 

"normal.xml" olarak belirlenmiştir renk, ancak diğer olanlarla hiçbir şekilde, benim görünümü basın ve hiçbir şey olmuyor, onun para cezası devlet "normal", o değil

Ben

+1

senin düzen xml bir çizilebilir kaynak almanın en dolambaçlı bir yol olmak zorunda – azharb

+6

Vaay yapıştırmak isteyebilirsiniz. . Yerine 'GetResources() getDrawable (context.getResources() getIdentifier (. "Mypackageuri.tProject: çekilebilir/bg", boş, boş));' 'GetResources deneyin() getDrawable (R.. drawable.bg); '. Bir şey kaçırmadığım sürece. – dmon

+0

@dmon iyi nokta, bunu da deneyin! Teşekkürler!! – Deitools

cevap

22

Kişisel görünüm durumunu elde etmek için tıklanabilir olması gerekiyor

teşekkür ederim ... ben yanlış yapıyorum göremiyorum ... hiçbir şekilde rengini değiştirerek pressed zaman üzerine tıkla. Kullanım:
view.setClickable(true); 

veya düzen xml

:

android:clickable="true" 
+0

gibi basit bir şey var olarak ... teşekkür ederim! yarın deneyeceğim – Deitools

+0

Hoş Geldiniz :) –

+1

çalışmış, ty;) – Deitools