2016-04-26 1 views
0

Я использую imageView, чтобы показать изображение о деятельности. Этот размер изображения не должен изменяться в соответствии с экраном устройства. Но это не работает. Я хочу использовать фактический размер изображения для каждого устройства. Ниже я попытался.Как сохранить одинаковый размер изображения на разных устройствах в android

<?xml version="1.0" encoding="utf-8"?> 
<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" android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/circle" 
     android:id="@+id/imageView" 
     android:scaleType="center"/> 

</RelativeLayout> 

Как я могу использовать одинаковый размер изображения без масштабирования на каждом экране устройства? Есть идеи.

спасибо.

ответ

0

Используйте дюймов вместо пикселей размер

, например, android:layout_width=".5in"

<ImageView 
     android:layout_width="1in" 
     android:layout_height="1in" 
     android:src="@drawable/circle" 
     android:id="@+id/imageView" 
     android:scaleType="center"/> 

https://developer.android.com/guide/practices/screens_support.html

+0

Можете ли вы привести мне пример? Я смущен вашей общей ссылкой. – Barrier

+0

@Barrier, уже сделал. Или какой код вы хотите? – Vyacheslav

+0

@ Барьер, вы пробовали? – Vyacheslav

0

Вы должны разработать макеты для каждого размера экрана или вы должны объявить Dimens в различных пятаков папки вместо of wrap_content, поскольку он будет масштабировать ваше изображение в соответствии с плотностью экрана,

значение папки, которые вы должны создать с РАЗМЕРАМИ являются:

values-hdpi/dimens.xml------for hd handsets 
values-xhdpi/dimens.xml-----for 5" screens xHD 
values-xxhdpi/dimens.xml----for nexus 5X 
values-xxxhdpi/dimens.xml----for nexus 6 and 6P devices 
values-sw720dp/dimens.xml-----for 9" tablets 
values-sw800dp-hdpi/dimens.xml--------for 10" tablets 
values-sw600dp/dimens.xml------for 7" tablets 
+0

Это очень неудобно и раздражает, чтобы использовать много xmls – Vyacheslav

+0

Нет, это не то, что я ожидал. – Barrier

+0

Я не хочу масштабировать изображение или изображение. Я просто хочу сохранить свой фактический размер на всех устройствах. – Barrier

0

Используйте ширину и высоту фикса в dp.

DP Преобразование единиц dp в пиксели экрана просто: px = dp * (dpi/160). Например, на экране с разрешением 240 точек на дюйм 1 дп равен 1,5 физическим пикселям. Вы всегда должны использовать модули dp при определении пользовательского интерфейса вашего приложения, чтобы обеспечить правильное отображение вашего интерфейса на экранах с различной плотностью.

<ImageView 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:src="@drawable/circle" 
     android:id="@+id/imageView" 
     android:scaleType="center"/> 

Для получения дополнительной информации о DP, SP, px. Пожалуйста, проверьте this

0

Для этого необходимо определить статическую фиксированную высоту и ширину для вашего ImageView, а затем использовать следующий атрибут: -

imgview.setScaleType(ScaleType.FIT_XY); 
0

Просто инспектировать фактический размер Jour изображения с помощью программного обеспечения как Photoshop или садомазо, а затем установить реальную ширину и высоту (например: 50px 40px х) в вашем ImageView таким образом:

<ImageView 
    android:layout_width="50px" 
    android:layout_height="40px" 
    android:src="@drawable/circle" 
    android:id="@+id/imageView" 
    android:scaleType="center"/> 
0

Просто сделай это таким образом !! Высота фиксирована, поэтому вам нужно указать значение высоты, а ширина должна быть match_parent.Its работает отлично для меня.

<ImageView 
    android:id="@+id/img_saving_image" 
    android:layout_width="match_parent" 
    android:layout_height="90dp" 
    android:layout_centerHorizontal="true" 
    android:src="@drawable/ic_cross" 
    android:scaleType="fitCenter" 
      or 
    android:scaleType="fitXY" 
    /> 
0

Поместите изображение в drawable или drawable-nodpi. Android не будет масштабировать ваш размер изображения. Вам не нужно менять код.

+0

В этом случае, как обеспечить путь изображения src? – Barrier

+0

@ drawable/circle – AlphaBoom

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

  • Нет связанных вопросов^_^