在我的应用中。我有一个包含ImageView的RelativeLayout。 RelativeLayout水平设置为MATCH_PARENT,垂直设置为WRAP_CONTENT。
ImageView在水平和垂直方向均设置为WRAP_CONTENT。可绘制的图像是24x24的矢量图标。
由于图标太小而无法显示,因此我希望将其尺寸加倍。那是问题所在:
// Parent RelativeLayout
RelativeLayout titleLayout = new RelativeLayout(MyApplication.getContext());
titleLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
//Icon
RelativeLayout.LayoutParams information_icon_layout = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
information_icon_layout.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
ImageView information_icon = new ImageView(MyApplication.getContext());
information_icon.setLayoutParams(information_icon_layout);
information_icon.setPadding(
getResources().getDimensionPixelSize(R.dimen.schedule_element_title_layout_padding_left),
getResources().getDimensionPixelSize(R.dimen.schedule_element_title_layout_padding_top),
getResources().getDimensionPixelSize(R.dimen.schedule_element_title_layout_padding_right),
getResources().getDimensionPixelSize(R.dimen.schedule_element_title_layout_padding_bottom)
);
information_icon.setImageDrawable(MyApplication.getContext().getResources().getDrawable(R.drawable.ic_info_outline_black_24dp));
information_icon.setScaleX(2);
information_icon.setScaleY(2);
information_icon.setAdjustViewBounds(true);
图标按预期比例缩放,但是父级RelativeLayout似乎并未考虑此更改,并且仍使用Icon的原始大小(24x24)计算其垂直大小。 结果,该图标正在缩放到父级之外,并且只有一部分可见。
我的问题:如何告诉父级RelativeLayout考虑图标的缩放大小?
答案 0 :(得分:0)
使用具有3个主要属性的imageview的scaletype属性 中央, 中心作物 居中 如果要完全刮擦图像,它还具有以下属性:fit center,fit end,fit start,fitxy。您可以在xml和Java中使用此属性。 这是链接