我有一个大小为 130*160dip 的小部件。我想为它制作一个可调整大小的小部件,我已经添加了,android:resizeMode="horizontal|vertical"
但由于我的布局是固定大小的,因此调整大小不会影响任何东西。
我的布局(我认为这比 xml 更好:)):
==========LinearLayout===========
= -TextView- =
= =LinearLayout= =LinearLayout= =
= = TextView = = TextView = =
= = TextView = = TextView = =
= = TextView = = TextView = =
= = TextView = = TextView = =
= = TextView = = TextView = =
= = TextView = = TextView = =
= ============================= =
= TextView =
=================================
如果用户调整小部件的大小,应该保持纵横比(13*16),并且应该根据新大小调整文本视图的大小。
对于我的一项活动,我在扩展的自定义(基于重量)布局中使用了以下内容:
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
[...]
int count = getChildCount();
for (int i = 0; i < count; i++) {
[...]
if (child instanceof TextView) {
((TextView) child).setTextSize(TypedValue.COMPLEX_UNIT_PX,
ch * 7 / 10); //ch=child height
}
}
效果很好,但我不能为小部件使用自定义布局(或 TextViews)。
调整小部件大小时如何获得此行为?
梅丁