Android将图像放入ImageView
我使用以下方法从套接字服务器获取图像:Android将图像放入ImageView,android,android-layout,imageview,Android,Android Layout,Imageview,我使用以下方法从套接字服务器获取图像: byte[] decodedString = Base64.decode(values[26], Base64.NO_WRAP); master_bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); master_frame.setImageBitmap(master_bitmap); Xml 我想在布局上匹配图像: 但它显示
byte[] decodedString = Base64.decode(values[26], Base64.NO_WRAP);
master_bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
master_frame.setImageBitmap(master_bitmap);
Xml
我想在布局上匹配图像:
但它显示如下:
我想在ImageView中正确匹配所有位图。它可以拉伸
PS:布局也很难。。。为什么我不能将图像视图彼此靠近
我的安卓系统截图
前两个图像是640x360,最后一个是1159x398。如果您希望该纵横比的图像适合该ImageView,请在其XML属性中使用android:scaleType=centerCrop。如果您希望该纵横比的图像适合该ImageView,请在其XML属性中使用android:scaleType=centerCrop
android:scaleType="fitxy" in xml
这将填充整个图像视图
这将填充整个图像视图。步骤1:使用动态获取设备显示宽度和高度
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
步骤2:将布局参数设置为图像视图
imagePhoto.setLayoutParams(getLayout(5, 5, height/2, width/2));
private FrameLayout.LayoutParams getLayout(int fMarginLeft, int fMarginTop, int fWidth, int fHeight) {
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
params.setMargins(fMarginLeft, fMarginTop, 0, 0);
params.width = fWidth;
params.height = fHeight;
return params;
}
步骤1:使用动态获取设备显示宽度和高度
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
步骤2:将布局参数设置为图像视图
imagePhoto.setLayoutParams(getLayout(5, 5, height/2, width/2));
private FrameLayout.LayoutParams getLayout(int fMarginLeft, int fMarginTop, int fWidth, int fHeight) {
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
params.setMargins(fMarginLeft, fMarginTop, 0, 0);
params.width = fWidth;
params.height = fHeight;
return params;
}