0

在我的 android 应用程序中,我必须在图像视图中设置图像。原始图像的质量很好(1920 * 2000 像素)但是当我将其添加为图像资产并从 mipmap 加载时,图像变得模糊图像模糊(在设备 480 * 800 像素密度)但如果我将其直接粘贴到可绘制文件夹中,则它会在该设备中显示清晰的图片清晰的图像,但在平板电脑显示屏中不显示任何内容。我怎样才能在所有设备中获得清晰的图片?

代码

公共类 MainActivity 扩展 AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ImageView meter=(ImageView)findViewById(R.id.imageView);
    meter.setScaleType(ImageView.ScaleType.FIT_CENTER);

    Bitmap meterIcon =   BitmapFactory.decodeResource(getResources(),   R.mipmap.andes);

    Display display = getWindowManager().getDefaultDisplay();
    int width = (display.getWidth());
    int height = display.getHeight();

    meter.setMinimumWidth(width);
    meter.setMinimumHeight(height);

    meter.setMaxWidth(width);
    meter.setMaxHeight(height);
    meter.setImageBitmap(meterIcon);






   }
}

XML

    <?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:paddingBottom="@dimen/activity_vertical_margin"
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
     tools:context="com.example.partha.rotate_check.MainActivity">


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="142dp"
         />
   </RelativeLayout>
4

1 回答 1

0

图像质量降低的原因是当您将其添加为图像资产时,IDE 会自动为每个 android 分辨率创建许多新图像。所以在一个480p*800p的设备屏幕上,android会加载对应那个分辨率的图片,当然会比原来的分辨率低。

如果您希望 android 始终使用原始分辨率图像,那么您只需将图像复制到 drawable 文件夹中,这非常好。

于 2016-06-09T14:29:01.090 回答