問題タブ [android-viewgroup]

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 投票する
0 に答える
113 参照

android - ViewGroup で親の半分の幅をカバー

子が追加された ViewGroup (これをAと呼びましょう) があります。Aを親の半分の幅にしたい。

onMeasure で widthMeasureSpec に含まれる親サイズの半分に幅を設定していますが、私が直面している問題は、A ビューが画面の半分をカバーしているにもかかわらず、子が正しく配置されていないために測定が行われないことです。

以下は私のonMeasureとonLayoutです。

問題の参照用にサンプル ビューを追加しました。

ここに画像の説明を入力

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

android - ViewGroup のコンテンツを 2 回レンダリングする

Google Cardboard 用の一種の HUD オーバーレイを作成しようとしています。

HUD を複製する必要があります (それぞれの目に 1 つ)。単純な解決策は、すべての XML 要素を別のビューに手動でコピーし、それらに異なる名前を付けることです。コードの重複が多いため、これは悪いアプローチのように感じます。

したがって、すべてを2回レンダリングすることになっているViewGroupの次のソリューションを思いつきました。

最初の問題は、1 回か 2 回を除いて、dispatchDraw も onDraw も呼び出されないことです。子ビューが無効化されている場合は呼び出されません。

2 つ目の問題は、MATCH_PARENT を持つ要素の背景が、ViewGroups の内部境界の外にレンダリングされることです。

200DP幅 ここに画像の説明を入力

MATCH_PARENT ここに画像の説明を入力

このアプローチはあまりにも多くを望んでいますか、それとも私の考えが間違っていますか? 複雑なレイアウトと画像を処理するために完全にカスタム ビューを作成するのは大変な作業のように思えますが、私のレイアウトをコピーするのは悪い設計のように思えます。

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

android - Android 複合ビュー: 子ビューを親と一致させることはできません

FrameLayout から継承され、いくつかの子ビューを含むカスタム ビュー (複合ビュー) を作成しました。

MediaComponentView.java:

view_media_component.xml:

複合ビューの使用法:

問題は、「image_view」が正しくレイアウトされていないことです。親と一致しません。

背景を設定して、MediaComponentView 自体のサイズが正しいことを確認しました。正しいサイズです。

しかし、子ビューのサイズが正しくありません。MediaComponentView の onMeasure() メソッドがオーバーライドされているために発生すると思います。

ヘルプや説明をいただければ幸いです。

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

android - Activity からリソース ID を渡してカスタム ViewGroup を初期化する

これは、@pskink から、必要なものを描画するカスタム ViewGroup を実装するようにアドバイスされた以前の質問のフォローアップです。ハードコードされた値を使用したプロトタイプで成功しました。アクティビティから初期化パラメーターを渡すことができるレベルに移動したいと考えています。リソース ID を渡し、onPaint メソッドで使用する画像を開く必要があります。

これが活動です。そこで ViewGroup インスタンスを取得できますが、既にインスタンス化されているため、コンストラクターでリソース ID を渡す意味がありません。セッターを使用しようとしましたが、リソースから Drawable を初期化するには Context が必要です。

ViewGroup のセッターには、コンストラクターのようなコンテキストがありません。

この問題からどのように取得しますか? ViewGroup を描画する前に、初期化パラメーターを渡す必要があります。アクティビティにはオーバーライドする onXY() メソッドが多数ありますが、同様の ViewGroup メソッドはありません。そのライフサイクルは何ですか?

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

android-layout - (アニメーション) フラグメントでツールバーを非表示

editText内をクリックしたときにツールバーを非表示にしたいので、これらの行を追加しました

私の onCreateView メソッドでトランジション効果を追加しましたが、ツールバーのアニメーションはひどいものに見えます..

ツールバーをスクロールアウトして、ビューを一番上に表示したいだけですか? これは「シンプルな」アニメーション スタイルで可能ですか?

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

android - childlayoutで動的に作成されたテキストビューを更新するには?

XML レイアウト:

add_item.xml

add_inner_item.Xml

次の方法を使用して動的にビューを追加しました。

動的に作成するレイアウトが1つあり、ボタンクリックビューの外側から子テキストビューを更新したい.私はこのコードを試しました.しかし、何も変更されていません.誰でもこのサンプルに提案を与えることができます.

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

android - RadioButton を ViewGroup にキャストする

RadioButton をクリックしてアクティビティからフラグメントに遷移すると、RadioButton を ViewGroup にキャストできないという classcastingexception が発生します。何か提案があれば、よろしくお願いします。

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

android - Android - 表示可能な四角形のパーセンテージを取得します

特定のビュー (たとえば、ビュー A) が 100% 表示されているかどうかを示しようとしています。つまり、100x100 ビューの場合、10000 ピクセルすべてが表示されるようにしたいと考えています。

サンプル:

100 %を返す必要があります。

約 50% を返す必要があります。

globalVisibleRect、localVisibleRect、hitTest、drawableRect、focusableRect を測定してみましたが、ビューが完全に表示されているかどうかに関係なく、すべて同じです。

何か案は?