Trước hết, tôi muốn xin lỗi trước vì tôi chắc chắn rằng câu hỏi này đã được hỏi trước đây, nhưng mặc dù tôi đã tìm kiếm khoảng 2 tuần ở những câu hỏi đó tôi không thể hình dung những gì tôi đang làm sai.Ảnh mờ trên thiết bị khác
Đây là nơi tôi tải hình ảnh trong hoạt động:
ImageView image = (ImageView) findViewById(R.id.shop_Image) ;
image.setScaleType(ImageView.ScaleType.CENTER_CROP) ;
String mDrawableName = data.vec.elementAt(id).fuenf ;
if (mDrawableName.equals("leer"))
mDrawableName = "ic_launcher" ;
int resID = getResources().getIdentifier(mDrawableName , "drawable", etPackageName());
image.setImageResource(resID) ;
Và đây là xml-file:
<LinearLayout
android:id="@+id/shop_Layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FDFDFD"
android:orientation="vertical" >
<ImageView
android:id="@+id/shop_Image"
android:contentDescription="@string/shop_image"
android:layout_width="match_parent"
android:layout_height="400dp"
android:scaleType="centerCrop"
android:adjustViewBounds="true"
android:src="@drawable/ic_launcher" />
[...]
Và đây là kết quả:
Trên Galaxy Nexus, Nexus 5 hoặc Samsung S3 có dạng như sau:
Và trên Razr tôi hay HTC Desire X nó trông như thế này:
Tôi biết rằng các thiết bị trên, mà hiển thị các hình ảnh chính xác có một màn hình với ít nhất 4,7 inch trong khi cả hai với hình ảnh mờ có 4,3 inch hoặc 4 inch.
Và mặc dù tôi đã đặt những hình ảnh đó trong các thư mục có thể vẽ khác nhau, tôi vẫn nhận được những kết quả khó chịu này.
Nếu cần thêm mã ví dụ, vui lòng cho tôi biết.
PS: Xin lỗi vì sự nổi bật còn thiếu, tôi vẫn là một newbie :)
Hãy thử sử dụng nhúng thay vì dp cho các biện pháp. dp = pixel mật độ và nhúng = pixel độc lập mật độ. Những thiết bị này có ppi thực sự khác nhau để có thể giúp đỡ. –
Theo như tôi biết dp và dip là giống hệt nhau. Tôi vẫn có thể thử nó, cảm ơn bạn :) – VollNoob
@MarcusGabilheri VollNoob là đúng. dip chỉ là một tên khác cho dp. Ngoài tên, có ** không có sự khác biệt ** giữa hai đơn vị. –