大丈夫ここに私の問題は、画面の下部にある2つのボタンのセットに塗りつぶすスクロールビューを作成したいと思います。知っている私はちょうど私が行くだろうと私は親指を埋めるためにスクロールビューの高さを取得し、ボタンを使用してリニアレイアウトの高さを取得するスクロールビューを設定することはできません知っている。次に他のものから1つを引いてから、スクロールビューの高さをリセットします。私はスクロールビューの高さを取得して設定する方法を考え出しました。私はそれが活動の他のビューのすべてを測定する方法を見つけましたが、この1つでは、常にゼロを返し、私はその高さを得る方法を失いました。ボタンを使ってビューの高さをプログラムで取得する方法は?
final LinearLayout tv = (LinearLayout)findViewById(R.id.thebuttons);
ViewTreeObserver vto = tv.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
Integer grr = tv.getHeight();
Log.e("the h", grr.toString());
ViewTreeObserver obs = tv.getViewTreeObserver();
obs.removeGlobalOnLayoutListener(this);
}
});
私はこれを私の他のレイアウトに設定すると、予想通りに高さを得ることができますが、これを0に設定します。これが私が測定しようとしているものです!私はまた、ウィジェットは、彼らが作成されません画面に表示されない場合、私は最終的に自分自身 をそれを考え出し無駄
<LinearLayout
android:id="@+id/thebuttons"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5sp"
>
<Button
android:id="@+id/saveit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save" />
<Button
android:id="@+id/clearit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save" />
</LinearLayout>
ただ、[使用するのと同じ問題と戦っ役立ちます
希望:私の上で
はこれを得た私の方法を作ります'LinearLayout'の代わりに 'RelativeLayout'](http://developer.android.com/resources/tutorials/views/hello-relativelayout.html)を使用すると、必要のない方法で要素を簡単に配置することができます任意の不快な測定など – tomtheguvnor