2014-12-12 4 views
0

У меня есть приложение, которое отображает изображение, которое заполняется с помощью растрового изображения. Изображение отображается правильно на Samsung Galaxy S3, но он отсекает от Sony XPERIA Z.Android: изображение растрового изображения ImageView отключено

Изображения на этих устройствах, как показано ниже:

Galaxy S3

Xperia Z

Что мне нужно сделать сделать, чтобы отобразить изображение, чтобы оно не обрезалось.

try { 
      Paint paint1 = new Paint(); 
      paint1.setTextSize(20); 
      paint1.setTypeface(rcond); 
      int bitmapWidth = (int)(bitmapList.size() * (80 + paint1.measureText("\u2192")));// + paint1.measureText("\u2192")); 
      drawnBitmap = Bitmap.createBitmap(bitmapWidth, 110, Config.ARGB_8888); 

      Canvas canvas = new Canvas(drawnBitmap); 
      float left = 0; 

      for (Bitmap bmp : bitmapList){ 
       canvas.drawBitmap(bmp, left, 10, null); 

       left = left + 80;// + paint.measureText("\u2192"); 
      }   
     } 



<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/widget76" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@android:color/black" > 

    <ListView 
     android:id="@android:id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="5dp" 
     android:divider="@android:color/black" 
     android:dividerHeight="10dp" /> 

    <RelativeLayout 
     android:id="@+id/widget78" 
     android:layout_marginTop="5dp" 
     android:layout_width="wrap_content" 
     android:paddingLeft="5sp" 
     android:paddingRight="5sp" 
     android:background="@drawable/roundedbutton" 
     android:layout_height="wrap_content" > 

<!--  <RelativeLayout --> 
<!--   android:id="@+id/widget778" --> 
<!--   android:layout_width="wrap_content" --> 
<!--   android:visibility="gone" --> 
<!--   android:background="@drawable/rounded_button_black" --> 
<!--   android:layout_height="wrap_content" > --> 

<!--   From --> 
     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:fontFamily="sans-serif" 
      android:text="" 
      android:ellipsize="middle" 
      android:layout_alignParentLeft="true" 
      android:textColor="#000000" 
      android:textStyle="bold" 
      android:textSize="13sp" /> 

<!--   From Time--> 
     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:fontFamily="sans-serif" 
      android:layout_toRightOf="@id/textView1" 
      android:text="" 
      android:gravity="right" 
      android:layout_alignParentRight="true" 
      android:textColor="#000000" 
      android:textStyle="bold" 
      android:textSize="13dp" /> 

     <LinearLayout 
      android:id="@+id/llMid" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:weightSum="10" 
      android:orientation="horizontal" 
      android:layout_below="@id/textView1" 
      > 
     <ImageView 
      android:id="@+id/ImageView01" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="9" 
      android:layout_gravity="left" 
      android:maxHeight="110dp" 
      android:paddingTop="3dp" 
      android:paddingBottom="3dp" 
      android:src="@drawable/walking" /> 

     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="wrap_content" 
      android:fontFamily="sans-serif" 
      android:text="" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:layout_weight="1" 
      android:textColor="#000000" 
      android:textStyle="bold" 
      android:textSize="24sp" 
      android:layout_height="50sp"    
      android:width="60sp" />   
     </LinearLayout> 
<!--   To -->   
     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:fontFamily="sans-serif" 
      android:text="" 
      android:gravity="right" 
      android:layout_below="@id/llMid" 
      android:layout_alignParentLeft="true"    
      android:textColor="#000000" 
      android:textStyle="bold" 
      android:ellipsize="middle" 
      android:textSize="13sp" /> 

<!--   To Time -->   
     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:fontFamily="sans-serif" 
      android:text="" 
      android:layout_below="@id/llMid" 
      android:layout_toRightOf="@id/textView2" 
      android:layout_alignParentRight="true"   
      android:gravity="right" 
      android:textColor="#000000" 
      android:textStyle="bold" 
      android:textSize="13sp" /> 
<!--  </RelativeLayout> --> 

    </RelativeLayout> 
</RelativeLayout> 

PS: Изображение представляет собой поезд с некоторым текстом под ним.

+0

попытаться дать минимальную высоту ширины –

+0

@BhavinChauhan - Спасибо. Я попробую это. – user2260040

+0

Также попробуйте опубликовать код, ваш xml тоже! – Leonardo

ответ

0

Итак, после нескольких попыток и получения непоследовательных результатов с использованием растрового изображения для рисования различных значков, я придумал решение, которое работает (это не очень красиво).

Количество отображаемых значков не более 10, но сколько будет в каждой строке, я не знаю. Поэтому в моем макете я определяю 10 ImageViews. В коде я задал каждое изображение с нужным значком. Оставшиеся, я установил видимость как GONE.

Это похоже на работу, и я не получаю никаких иконок, которые обрезаны.

0

Я не понимаю, почему вы не установили src на свой ImageView в качестве готового поезда. В любом случае, вы должны создавать разные размеры одного и того же изображения в PS или любом другом редакторе img и импортировать его должным образом. В любом случае, я настоятельно рекомендую вам read this guide и this one, чтобы лучше понять, как подойти на разных размерах экрана.

Надеюсь, это поможет!