Android 如何根据设置文字大小动态计算TextView长度、动态设置Relativelayout布局
1、动态设置TextView的width
如果在xml中使用TextView,并且设置了textSize属性,若想在Java代码中动态的设置TextView的长度,
而不是在xml直接写死TextView的Width属性,可以通过TextView的getPaint()获得TextPaint对象,通过这
个TextPaint对象我们就可以获取到当前TextView设置的text的size, 这时如果想控制TextView中放置的text
的字数,就可以通过重新设置TextView的width属性来实现。
例如:
int textSize = (int)pushNewsText.getPaint().getTextSize(); //获得当前textView的text size大小
2、Java代码中动态添加子view到RelativeLayout布局中:
LayoutParams childParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
ImageView firstView = new ImageView(context);
firstView.setId(zhangView.getId() + 1);
childParams .addRule(RelativeLayout.CENTER_VERTICAL);
childParams .addRule(RelativeLayout.LEFT_OF, targetView.getId()); //设置firstView位于targetView的左侧
childParams .rightMargin = 10;
firstView.setLayoutParams(childParams );
parentView.addView(firstView); //添加到父View中