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);
次に、各テキストビューとレイアウトの高さを取得して、すべての 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 は true ですが、これを in out で使用したい場合は 0 です。どうすれば問題を解決できますか。私の主な質問は、テキストビューの高さの合計がビューの高さよりも小さいテキストをレイアウトの最後に追加したいということです。
//////////////////////////////////////////// 更新: 欲しいこのようなもの:
while( sumHeight < viewHeight)
{
add (textview)
sumHeight += textHeight
}