問題タブ [onmeasure]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
977 参照

java - 描画される前に、サイズ変更されたカスタムビューの幅と高さを取得する方法

私のカスタム View .xml では、幅と高さを として定義しましw = 600dp , h = 700dpた。ビューが描画された後に getMeasuredHeight() / getMeasuredWidth() が幅と高さの値を与えることを知っています.xmlファイルで指定したものとは異なる場合があります。ビューが実際にレイアウトに描画される前に取得する回避策getMeasuredHeight()と値がありますgetMeasuredWidth()onMeasure()?を使用せずに

dpまた、異なる画面で変更されたサイズを計算する方法は? エミュレーターで実行すると、私のように600h*700wに変換され300*300ます。

0 投票する
1 に答える
1435 参照

android - Android: 動的な高さを持つ ScrollView のリストビュー

現在、スクロールビューで設定メニューを開発しています。基本的な構造は次のようになります。

リストビューの場合、カスタム実装を使用して、高さを固定し、スクロールビュー内でスクロールできるようにしました(注:多くの要素があるため、スクロールビュー内でリストビューを使用する必要があり、線形レイアウトを使用するといいじゃない)。

}

リストビューの各項目にはラベルとグリッドビューが含まれており、すべて正しく表示されています。しかし今、ユーザーがラベルをクリックしてグリッドビューの可視性を表示および非表示にできる機能を実装したいと考えています。

しかし、ラベルをクリックしてグリッドビューが表示されると、リストビューの高さが新しい開いている要素に適応しません。常に同じ高さにとどまり、要素を開くと、下の要素が表示されなくなります。requestLayout()これは、リストビューのメソッドを呼び出して再度トリガーする場合にも発生onMeasureします。

誰かが私が間違っていることを理解していますか?

編集:私のxmlファイルを更新しました:)

0 投票する
0 に答える
437 参照

android - ViewGroup onMeasure を書き換え、子の match_parent が機能しない

onMeasureカスタムメソッドを使用したカスタム Relativelayout があります。以下のようなコード。

上記のコードの目的は、設定することheight=width*ratioです。

それをした後。layout_height値を持つ子ビューはmatch_parent、親の高さを埋めません。のように動作しwrap_contentます。

そして、子ビューのmeasuredHeightandをデバッグします。heightそれらは等しくないことがわかりました。変です。

コードの何が問題なのか知りたいです。どうすれば修正できますか?

0 投票する
0 に答える
457 参照

android - Android: match_parent に設定すると、onMeasure() で ViewGroup のディメンションを取得します

その領域に 4 つの要素を均等に分散することを目的として、独自の ViewGroup を作成しました。

ViewGroup 自体は、幅と高さの両方で match_parent に設定され、その上に TextView があります。

当面の問題は、独自のクラスから ViewGroup 自体の幅を取得して、子を配布する方法です。これは onMeasure メソッドで行われると思いますが、ここと Javadoc を掘り下げた後、私を助けることができるものを見つけることができませんでした.

これが私があなたを見つけた理由です!

0 投票する
1 に答える
1707 参照

android - Android: カスタム ビューが間違った x、y 座標で描画される

カスタム ビューを作成し、ビュー グループから継承し、このビュー グループ内にカスタマイズされた方法でカスタム サブビューをレイアウトしようとしています。基本的に、各イベントがその長さに対して画面の高さを占める Outlook のものと同様のカレンダー ビューを作成しようとしています。

ViewGroup のコンストラクターで View の ArrayList を初期化し、onMeasure、onLayout、および onDraw をオーバーライドすると、レンダリングされたビューはすべて (0,0) から始まることを除いて、すべて正常に機能します。他の値。幅と高さは問題ありませんが、上と左だけが間違っています。

これは、わかりやすく簡潔にするために省略したコードです。

0 投票する
1 に答える
1115 参照

android - Android: measureChildWithMargins は、view.measure とは異なる結果を返します

Android で ViewGroup を拡張しています。現在、テストのためだけに、このビュー グループに子ビューを 1 つだけ追加しています。これは、コードによってインスタンス化された TextView です。

ViewGroup の onMeasure() で を呼び出すとchild.measure()、作成時に WRAP_CONTENT を高さレイアウト パラメータとして渡しますが、子はその高さを画面全体の高さとして測定します。ただし、を使用して子供を測定するとmeasureChildWithMargins、正しい身長が返されます。どうしてこれなの?

0 投票する
1 に答える
13796 参照

android - 動的な高さを持つ Android ViewPager

いくつViewPagerかのフラグメントを表示してそれらの間をスワイプする必要がありますがViewPager、コンテンツに基づいて高さは動的です。各リストが1つのタブに配置され、タブを変更することで高さがViewPager適切に変更される複数のリストがあるとViewPager仮定しonMeasureます。ViewPager測定。

ここにあるMyViewPager

また、以下のようにフラグメントが表示されるようになったときのonMeasureメソッドをトリガーしようとしましたが、何も変わりません。MyViewPager