Android 如何根据设置文字大小动态计算TextView长度、动态设置Relativelayout布局

 

2012-12-18 17:23

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中

你可能感兴趣的:(java)