相対レイアウトのサイズを更新するにはどうすればよいですか?

user3841323

私はこれを持っていますRelativeLayout

<RelativeLayout
    android:id="@+id/relativeLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/textView1"
        android:text="TextView" />
</RelativeLayout>

GONEクリックしてtextView2を作成したいButtonRelativeLayout前と後の高さを知りたいです

私はそれを行うためにこのコードを書きました:

Boolean shown = true;
Button btn = (Button) findViewById(R.id.button1);
final TextView tv2 = (TextView) findViewById(R.id.textView2);
final RelativeLayout rl = (RelativeLayout) findViewById(R.id.relativeLayout);
btn.setOnClickListener(new OnClickListener() {  
        @Override
        public void onClick(View v) {
            int saveHeight = rl.getHeight();
            if(shown) {
                tv2.setVisibility(View.GONE);
            }
            else {
                tv2.setVisibility(View.VISIBLE);
            }
            shown = !shown;
            Toast.makeText(getApplicationContext(), saveHeight + " " + rl.getHeight(), Toast.LENGTH_SHORT).show();

        }
    });

私の問題は、を呼び出すと常に古いサイズになることrl.getHeightです。

私はすでに使用しようとしました:

rl.requestLayout();
rl.invalidate();
rl.setVisibility(View.GONE);
rl.setVisibility(View.VISIBLE);

私の質問はRelativeLayout高さが更新されるようを更新するはどうすればよいですか

謙虚なルーキー

ViewTreeObserverを使用する必要があります。これを使用して、レイアウトの変更を聞くことができます。

final RelativeLayout rl=(RelativeLayout )findViewById(R.id.relativeLayout);
 ViewTreeObserver vto=.getViewTreeObserver();
 vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

    @Override
    public void onGlobalLayout() {
        // This will always update height
        relHeight=rl.getHeight();
    }
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

すべての画面サイズに合うように相対的なレイアウトを作成するにはどうすればよいですか?

分類Dev

相対レイアウトの背景色を設定するにはどうすればよいですか?

分類Dev

ポップアップを相対サイズにするにはどうすればよいですか?

分類Dev

どの相対レイアウトが選択されているかを確認するにはどうすればよいですか?

分類Dev

相対レイアウトを使用してレイアウトを設計するにはどうすればよいですか?

分類Dev

相対レイアウトにあるTextView内のテキストの適切な位置を設定するにはどうすればよいですか?

分類Dev

imageViewをcardviewの前に表示するにはどうすればよいですか?両方が相対レイアウトの子である場合

分類Dev

レイアウトサイズに応じてQGridLayoutの行/列数を更新するにはどうすればよいですか?

分類Dev

相対的なレイアウトを均等に埋めるために2つの水平ボタンを作成するにはどうすればよいですか?

分類Dev

相対レイアウトの制約を使用して画面の下部に要素を配置するにはどうすればよいですか?

分類Dev

相対レイアウトの幅をパーセントで調整するにはどうすればよいですか?

分類Dev

GridLayoutを相対レイアウトの親の中央に配置するにはどうすればよいですか?

分類Dev

Androidの相対レイアウトの背景画像に遅延読み込みを適用するにはどうすればよいですか

分類Dev

1つの画面で2つの相対レイアウトを利用するにはどうすればよいですか?

分類Dev

1つの画面で2つの相対レイアウトを利用するにはどうすればよいですか?

分類Dev

Androidでプログラムで相対レイアウトのマージンを設定するにはどうすればよいですか?

分類Dev

WPFウィンドウサイズを相対モニター画面の25%に設定するにはどうすればよいですか?

分類Dev

タブレットサイズの画面に合うようにレイアウトを変更するにはどうすればよいですか?

分類Dev

コンテナに相対的なサイズのアイテムでUICollectionViewControllerを初期化するにはどうすればよいですか?

分類Dev

コンテナに相対的なサイズのアイテムでUICollectionViewControllerを初期化するにはどうすればよいですか?

分類Dev

Windows 10で相対的な表示サイズを設定するにはどうすればよいですか?

分類Dev

内部にネストされた線形レイアウトを持つ相対レイアウト。画面の下部に線形レイアウトを配置するにはどうすればよいですか?

分類Dev

ANDROIDで複数の(異なるサイズの)画面のレイアウトを有効にするにはどうすればよいですか?

分類Dev

散布図レイアウトのKivy画像ウィジェット:画像サイズを大きくするにはどうすればよいですか?

分類Dev

JavaFXでのレイアウト計算中に子の実際のサイズを取得するにはどうすればよいですか?

分類Dev

プログラム内でレイアウトとテキストのサイズをDPに設定するにはどうすればよいですか?

分類Dev

スライドを有効にして相対レイアウトに相対レイアウトを追加するにはどうすればよいですか?

分類Dev

Sitecoreで特定のサブレイアウトを印刷するにはどうすればよいですか?

分類Dev

背景画像のサイズに対応するウィンドウのサイズを設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    すべての画面サイズに合うように相対的なレイアウトを作成するにはどうすればよいですか?

  2. 2

    相対レイアウトの背景色を設定するにはどうすればよいですか?

  3. 3

    ポップアップを相対サイズにするにはどうすればよいですか?

  4. 4

    どの相対レイアウトが選択されているかを確認するにはどうすればよいですか?

  5. 5

    相対レイアウトを使用してレイアウトを設計するにはどうすればよいですか?

  6. 6

    相対レイアウトにあるTextView内のテキストの適切な位置を設定するにはどうすればよいですか?

  7. 7

    imageViewをcardviewの前に表示するにはどうすればよいですか?両方が相対レイアウトの子である場合

  8. 8

    レイアウトサイズに応じてQGridLayoutの行/列数を更新するにはどうすればよいですか?

  9. 9

    相対的なレイアウトを均等に埋めるために2つの水平ボタンを作成するにはどうすればよいですか?

  10. 10

    相対レイアウトの制約を使用して画面の下部に要素を配置するにはどうすればよいですか?

  11. 11

    相対レイアウトの幅をパーセントで調整するにはどうすればよいですか?

  12. 12

    GridLayoutを相対レイアウトの親の中央に配置するにはどうすればよいですか?

  13. 13

    Androidの相対レイアウトの背景画像に遅延読み込みを適用するにはどうすればよいですか

  14. 14

    1つの画面で2つの相対レイアウトを利用するにはどうすればよいですか?

  15. 15

    1つの画面で2つの相対レイアウトを利用するにはどうすればよいですか?

  16. 16

    Androidでプログラムで相対レイアウトのマージンを設定するにはどうすればよいですか?

  17. 17

    WPFウィンドウサイズを相対モニター画面の25%に設定するにはどうすればよいですか?

  18. 18

    タブレットサイズの画面に合うようにレイアウトを変更するにはどうすればよいですか?

  19. 19

    コンテナに相対的なサイズのアイテムでUICollectionViewControllerを初期化するにはどうすればよいですか?

  20. 20

    コンテナに相対的なサイズのアイテムでUICollectionViewControllerを初期化するにはどうすればよいですか?

  21. 21

    Windows 10で相対的な表示サイズを設定するにはどうすればよいですか?

  22. 22

    内部にネストされた線形レイアウトを持つ相対レイアウト。画面の下部に線形レイアウトを配置するにはどうすればよいですか?

  23. 23

    ANDROIDで複数の(異なるサイズの)画面のレイアウトを有効にするにはどうすればよいですか?

  24. 24

    散布図レイアウトのKivy画像ウィジェット:画像サイズを大きくするにはどうすればよいですか?

  25. 25

    JavaFXでのレイアウト計算中に子の実際のサイズを取得するにはどうすればよいですか?

  26. 26

    プログラム内でレイアウトとテキストのサイズをDPに設定するにはどうすればよいですか?

  27. 27

    スライドを有効にして相対レイアウトに相対レイアウトを追加するにはどうすればよいですか?

  28. 28

    Sitecoreで特定のサブレイアウトを印刷するにはどうすればよいですか?

  29. 29

    背景画像のサイズに対応するウィンドウのサイズを設定するにはどうすればよいですか?

ホットタグ

アーカイブ