我想以编程方式将 TextView 添加到布局的末尾,我使用以下代码添加 textview:
final TextView valueTV = new TextView(getActivity());
valueTV.setText(UrbanLaw.MainCatalog.get(i));
valueTV.setPadding(10, 10, 10, 0);
valueTV.setId(Integer.parseInt(getArguments().getString("pageIndex"))*100+ i);
((LinearLayout) layout).addView(valueTV);
然后我想获取每个 textview 和布局的高度,以便在每个 android 设备中获得更好的视图。我使用以下代码来获取高度和宽度:
ViewTreeObserver entire = view.getViewTreeObserver();
entire.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// TODO Auto-generated method stub
Log.d( getArguments().getString("pageIndex")+" " +view.getWidth() + " x " + view.getHeight(),"width and height");
viewHeight = view.getHeight();
Log.d("view height in method", String.valueOf(viewHeight));
view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
在 ongloballayout() viewheight 是真的,但是当我想使用它时,输出等于 0。如何解决我的问题。我的主要问题是我想将文本添加到我的布局中,以使 textview 高度的总和小于视图高度。
///////////////////////////////////////更新:我想要像这样的东西:
while( sumHeight < viewHeight)
{
add (textview)
sumHeight += textHeight
}