Android imageView比例在emulator上正确,但在设备上不正确
我的真实设备(手机)和模拟器上有不同比例的图像视图。仿真器正确显示图像,但实际设备(手机)不正确。设备(手机)屏幕上的图像变小 这是我的java代码:Android imageView比例在emulator上正确,但在设备上不正确,android,android-imageview,Android,Android Imageview,我的真实设备(手机)和模拟器上有不同比例的图像视图。仿真器正确显示图像,但实际设备(手机)不正确。设备(手机)屏幕上的图像变小 这是我的java代码: ... rootView = (ViewGroup) inflater.inflate(R.layout.arabic_page, container, false); waraka = (ImageView) rootView.findViewById(R.id.waraka); ... InputStream istr;
...
rootView = (ViewGroup) inflater.inflate(R.layout.arabic_page, container, false);
waraka = (ImageView) rootView.findViewById(R.id.waraka);
...
InputStream istr;
try {
//Search in OBB
istr = getExpansionFile().getInputStream(num_image+".png");
Bitmap bitmap = BitmapFactory.decodeStream(istr);
Drawable draw =new BitmapDrawable(getResources(),bitmap);
waraka.setImageDrawable(draw);
这是我的布局代码:
<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:background="#FFFFFF"
tools:context=".MainActivity">
<ImageView
android:id="@+id/waraka"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:scaleType="fitCenter"/></RelativeLayout>
您的版面宽度和版面高度都有“包裹内容”。根据您手机的dpi分辨率,它的大小会有所不同。如果希望特定大小在多个设备上看起来相对相同,则必须以dps为单位指定大小。
因此,将图像视图更改为:
<ImageView
android:id="@+id/waraka"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:scaleType="fitCenter"/>
您应该仔细阅读此链接,以了解不同的屏幕尺寸:
可能发生的情况是,您的手机的屏幕密度比仿真器高得多,这就是为什么手机更小的原因。请尝试在布局中使用密度无关像素(dp)。发生这种情况的原因是模拟器和手机的屏幕分辨率不同,因此您无法确定图像在布局中会占用多少空间,除非您在尺寸点(dp)中设置图像,以便: 第一:为什么同时使用这两种方法:
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
第二:我认为这个代码对你有用:
<ImageView
android:id="@+id/waraka"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:scaleType="fitXY"/>
您希望发生什么?图像是否具有相同的相对大小(布局内的相对大小)?