我需要一些设置imageview固定大小的帮助。这是我的情况。我希望根据设备的屏幕宽度和高度调整应用程序中所有imageview的大小。例如,我希望listview中的图像宽度=设备显示宽度的25%。现在我可以这样做:
Bitmap bmp=BitmapFactory.decodeResource(acontext.getResources(), R.drawable.transparent_bg);
int width=(int) RPCCommunicator.getPlaceHolderWidth(acontext, 25);
int height=(int) RPCCommunicator.getPlaceHolderHeight(acontext, 20);
Bitmap resizedbitmap=Bitmap.createScaledBitmap(bmp, width, height, true);
mainImg.setImageBitmap(resizedbitmap);
在这个示例代码中,我只是在我的listview项目上将透明图像设置为默认图像,其大小与我想要的一样。但我想要做的是,设置imageview的大小,如果我从服务器收到的图像小于默认大小,不适合,只需保持在这个“占位符”的中心。如果它很大,我将不得不在imageview中适应它。
所以基本上我的问题是:我如何以编程方式设置ImageView的宽度和高度而不适合他的内容。希望你得到我想要的东西。
提前致谢!
答案 0 :(得分:0)
编辑:
final float scale = getContext().getResources().getDisplayMetrics().density;
int pixels = (int) (width_in_dp * scale + 0.5f);
将width_in_dp替换为您想要的尺寸。 另外,您可以在这里查看:http://developer.android.com/guide/practices/screens_support.html
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;
使用此screenWidth,您可以设置视图或位图大小。