2013-08-08 4 views
0

Просто попробуйте себя - поставить на макете ImageView с anyPngYouWant.png, а затем сделать bitmap.xml сjava android - почему изображения искажены?

<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/anyPngYouWant" 
/> 

и поставить в на тот же макет ..

Почему они разного размера? Я попытался сделать много разных изображений и все еще в bitmal.xml размер wrap_content отличается от исходного png. Я просто хочу, чтобы они были так же

расположение:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    tools:context=".MainActivity" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:src="@drawable/anyPngYouWant" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/imageView1" 
     android:src="@drawable/bitmap" /> 

</RelativeLayout> 
+0

Почему вам нужно помещать его в вместо использования его напрямую, я не думаю, что есть проблема с использованием изображения, непосредственно помещающего его в ImageView. – user2652394

+0

Вы не можете использовать файлы '.png', подобные' @ drawable/anyPngYouWant.png' - ** они еще не ресурсоемкие **. – g00dy

+0

, потому что мне нужно использовать его в tileMode. Он искажен в tileMode. Но даже без него он искажен. Я не могу использовать файлы дизайна, и я не могу сделать правильный макет со всем этим – user2234594

ответ

0

Проверить этот метод, он получает объект Bitmap файла изображения, а затем устанавливает это на imageView:

File ifile = new File(“PATH/anyPngYouWant.png”); 
if(ifile.exists()){ 

    Bitmap bmp = BitmapFactory.decodeFile(ifile.getAbsolutePath()); 

    ImageView iv = (ImageView) findViewById(R.id.imageView1); 
    iv.setImageBitmap(bmp); 

} 
+0

хорошо, если это в ресурсах, зачем мне это нужно? и могу ли я сделать черепичное растровое изображение из этого? – user2234594

+0

Если это в ресурсах, используйте его так: '@ drawable/anyPngYouWant' без расширения файла. – g00dy

+0

моя ошибка, конечно же, без расширения! если вы попытаетесь сделать то, что я описал, вы увидите, что любой файл png вашего ресурса будет иметь разный размер, если вы поместите его в макет в bitmap.xml. просто попробуйте наложить макет на две одинаковые фотографии - одну, как ImageView с anyPngYouWant, а другую с bitmap.xml с anyPngYouWant, установленную как источник. Они будут разных размеров! – user2234594

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