2013-08-26 3 views
0

Я разрабатываю приложение для нескольких устройств. В этом я использую изображение и используя селектор. Я устанавливаю фоновое изображение, зависит от состояния. Я отлично работаю для всех устройств, кроме одного 10 дюймовым устройством.ImageView не выделяется при щелчке

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:clickable="true" > 

    <LinearLayout 
     android:layout_width="145dp" 
     android:layout_height="239dp" 
     android:layout_marginRight="6dp" 
     android:background="@drawable/common_selector_thumbnail_shadow_title_background" 
     android:gravity="center" 
     android:orientation="vertical" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" > 

     <FrameLayout 
      android:layout_width="130dp" 
      android:layout_height="186dp" 
      android:layout_marginTop="5dp" 
      android:background="@color/RGB_100_215_216_217" > 

      <ImageView 
       android:id="@+id/seasonal_favorites_default_image" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:scaleType="center" 
       android:src="@drawable/tw_noitem_movie" /> 


     </FrameLayout> 

     <TextView 
      android:id="@+id/seasonal_favorites_list_text" 
      android:layout_width="140dp" 
      android:layout_height="43dp" 
      android:duplicateParentState="true" 
      android:ellipsize="end" 
      android:gravity="center_vertical" 
      android:paddingLeft="10dp" 
      android:paddingRight="10dp" 
      android:singleLine="true" 
      android:textColor="@drawable/common_selector_thumbnail_shadow_title_textcolor" 
      android:textSize="18dp" /> 
    </LinearLayout> 

</FrameLayout> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/thumbnail_title_bg_focus" android:state_focused="true" android:state_pressed="true"/> 
    <item android:drawable="@drawable/thumbnail_title_bg_focus" android:state_pressed="true"/> 
    <item android:drawable="@drawable/thumbnail_title_bg_focus" android:state_focused="true"/> 
    <item android:drawable="@drawable/thumbnail_title_bg"/> 

</selector> 

Заранее спасибо.

ответ

0

Возможно, вам необходимо добавить файл манифеста: hardwareAccelerated="true"
Попробуйте и сообщите мне, если это сработало!

+0

уже сделанный как истинный в моем проекте src. Фактически у меня есть два проекта, у которых есть src, а другой - res. – AndroidCrazy

+0

Что вы имеете в виду, у вас есть два проекта? Можете ли вы поставить скриншот или что-то еще, чтобы я мог вам помочь? – Dyna

0

Использование ImageButton Есть два способа setBackgroundResource, setImageResource установить ресурсы для кнопки (которая будет нажата одна) и изображение само по себе

0

Вам нужно добавить android:clickable="true" к LinearLayout или установить OnClickListener там. В противном случае ваш фон селектора не активируется.

+0

У меня есть родительский вид сверху к линейному макету, который имеет clickable true – AndroidCrazy

+0

Если вы хотите, чтобы ваш фон селектора со значением '@ drawable/common_selector_thumbnail_shadow_title_background '' был применен, вам нужно сделать этот * именно этот * элемент кликабельным. установите селекторный фон на родительский вид. –

+0

Я попробовал это также, но не работал – AndroidCrazy

0

Используйте ImageButton вместо ImageView, чтобы заставить селектор работать.

0

Если вы можете предоставить различные состояния изображения, то увидеть это post

В противном случае ...

Используйте LayerDrawable для источника изображения. Один слой является фактическим изображением, а другой - селектором состояний.

LayerDrawable d = new LayerDrawable(new Drawable[]{getResources().getDrawable(R.drawable.my_image), getResources().getDrawable(R.drawable.my_selector_list)}); 
imageView.setImageDrawable(d); 

Или вы можете определить ресурс XML для рисования слоев и использовать его в своем XML-макете.

Смежные вопросы