【发布时间】:2012-02-10 01:21:18
【问题描述】:
我有这个代码:
ImageButton call = new ImageButton(context);
call.setId(9001+result.index);
call.setBackgroundResource(R.drawable.small_call);
LinearLayout.LayoutParams call_params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
call.setLayoutParams(call_params);
它以我想要的方式呈现按钮,但是当我这样做时:
ImageButton call = new ImageButton(context);
call.setId(9001+result.index);
call.setBackgroundResource(R.drawable.small_call);
LinearLayout.LayoutParams call_params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_VERTICAL | Gravity.RIGHT
);
call.setLayoutParams(call_params);
它会拉伸图像,弄乱纵横比,并使其模糊/像素化。
那么在第一个代码sn-p中渲染图像的正确方法是什么,但是将按钮放在第二个代码sn-p放置的位置?
提前致谢。
【问题讨论】:
-
试试 call.setScaleType(ScaleType.FIT_XY);
标签: android sdk imagebutton stretch gravity