我想为平板电脑使用更大尺寸的图像,并减小手机的尺寸 我正在为ImageButton中的所有图像执行此操作 我尝试将不同大小的图像,如hdpi,ldpi,mdpi等放在drawable中的不同文件夹中,但这也无效。
我已经读过应该使用不同的布局,但是在较新的API级别中,它现在已被弃用。
有没有简单的方法可以做到这一点?
答案 0 :(得分:0)
根据您的手机/平板电脑像素密度,Android系统会自动为您的手机/平板电脑选择适合的图像。但是,您仍然可以明确地让Android选择不同大小的图像。像这样......
//适用于手机 绘制,LDPI 绘制,MDPI 抽拉-HDPI
//适用于7英寸平板电脑 提拉 - 大MDPI drawable-large-hdpi(适用于Nexus 7)
//适用于10英寸平板电脑 抽拉-XLARGE-MDPI
RES /抽拉-XLARGE-MDPI /
答案 1 :(得分:0)
答案 2 :(得分:0)
这是我在网上找到的减少图像大小的代码之一。试试这个。
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
public class AndroidLoadImageViewActivity extends Activity {
String imagefile ="/sdcard/IMG_9331.JPG";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView image = (ImageView)findViewById(R.id.image);
//Bitmap bm = BitmapFactory.decodeFile(imagefile);
Bitmap bm = ShrinkBitmap(imagefile, 300, 300);
image.setImageBitmap(bm);
}
Bitmap ShrinkBitmap(String file, int width, int height){
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeFile(file, bmpFactoryOptions);
int heightRatio = (int)Math.ceil(bmpFactoryOptions.outHeight/(float)height);
int widthRatio = (int)Math.ceil(bmpFactoryOptions.outWidth/(float)width);
if (heightRatio > 1 || widthRatio > 1)
{
if (heightRatio > widthRatio)
{
bmpFactoryOptions.inSampleSize = heightRatio;
} else {
bmpFactoryOptions.inSampleSize = widthRatio;
}
}
bmpFactoryOptions.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeFile(file, bmpFactoryOptions);
return bitmap;
}
}