問題タブ [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 投票する
1 に答える
290 参照

android - 無効にしたビューグループをより美しく見せます

ささいな質問がありますが、試してみようと思いました。私はAndroidアプリを書いていますが、Webサーバーから読み込まれるビューグループフォームがあります。インターネットアクセスの実行中に、プログレスバーのあるダイアログボックスをポップアップするのが常でした。タイトルバーの小さな不確定なプログレスバーに移動すると、見た目が不格好になりにくいと判断しました。

タイトルバーオプションは、フォームアイテム(テキストビュー、ボタンなど)が取得中にすべて有効になっていることを除いて、それほど忙しくないように見えます。次に、再帰ルーチンを使用してビューグループ内のすべてのビューを無効にしましたが、これも見苦しいように見えます。グレー表示されたテキストビュー(2.3.3)は、特にフォーカスがあり、周囲にオレンジ色のバーがあるものは全体的に見えます。プログレスバーをポップアップすると、下にあるビューがうまく無効になっているように見えます。後ろのウィンドウは単にゆっくりと暗くなります。視覚的な観点からは、ウィンドウ全体が暗くなったときに何かが発生するのを待っているのは、無効になっている多数のコントロールに直面するのではなく、はるかに明白です。

プログレスバーまたは他のウィンドウが上に重なっているときにOSが行うのと同様の方法でビューを無効にするための呼び出しはありますか?これは私に両方の長所を与えるでしょう。

他のオプションは、アクセス中にビューを非表示に設定することだと思いますが、ポップアップを使用すると、OSが希望どおりに動作しているのを見ることができるので、興味がありました。

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

android - カスタム レイアウトの子が再レイアウトされず、正しく再測定されない

ViewGroup を拡張するカスタム レイアウトを実装しました。その onLayout() メソッドで、すべての子に対してループを作成します。子をレイアウトに追加し、測定してからレイアウトします。それはうまく動作します。

しかし今は、子供たちに動的コンテンツを持たせたいと思っています。そのため、各子のビューホルダーにハンドラーとランナブルを追加しました (私のレイアウトにはアダプターが取り込まれています)。このランナブルは、10 秒ごとにテキストビューを更新することを目的としています。何が起こるかというと、TextView が切り捨てられます。実際には、設定されている最初の文字列の幅を取り、再測定または再レイアウトすることは決してないことがわかりました。カスタム レイアウトを FrameLayout を拡張することにしました。そして、私の onLayout() メソッドで super.onLayout() を呼び出すと、すべてが正常に機能します。子の TextView が Runnable によって更新されるたびに、カスタム レイアウトの onLayout メソッドでコールバックされます。

大きな疑問はなぜですか?FrameLayout を拡張するだけでは不十分です。super.onLayout() を呼び出す必要があります。このメソッドのコードを確認しましたが、機能させるために何をするのかわかりません。ドキュメントによると、レイアウトはトップダウンで 1 つのパスであるため、このメソッドを呼び出すと、子が更新されるたびにカスタム レイアウトが再レイアウトされるのはなぜですか? 私は自分の子供に requestLayout() と invalidate() を呼び出そうとしましたが、役に立たなかったことに注意してください。

私を読んでくれてありがとう。十分に明確でない場合は、コードを提供できます。

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

android - AndroidでViewGroupとViewを使用して、キャンバスを使用してボタンを描画および作成します

独自のカスタムビューを作成しようとしています。現在、特定のx座標とy座標に画像を描画してから、同じような画像をさまざまな場所に繰り返し描画しています。

描画される画像の各インスタンスにボタンを作成できるようにしたいと思います。1つの画像をクリックすると、選択した画像によって異なることが発生します。

どうすればこれを実装できますか?

画像とボタンの組み合わせごとに異なるビューを作成してから、onClickイベントを設定する必要がありますか?


もう少し明確にしようと思います。六角形(プレーヤーごとに異なる種類の地形)を使用してマップを作成しようとしています。描画する方法を理解しました(ここを参照してください。表示する境界線があります)。どの地形が誰によって所有されているか)

カスタムビュークラスを作成し、Canvasを使用して六角形を描画しました。ただし、六角形をボタンにして、選択した六角形と、対戦相手のスポットにどのように反応するかを区別できるようにする方法がわかりません。

プレイヤーに属するノード(六角形)を含み、配置する場所に六角形のみを描画するノードビューのグループを持つTerrainというViewGroupを作成することを考えていました。

問題は、特定の六角形が押された場合に、各ノードまたはviewGroup全体をボタンにする(またはonTouchを実行する)ことができるかどうかです。

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

android - クリックして表示すると、キャンバスに再描画されます

現在、ノードとして六角形を含むマップを描画しています。NodeViewクラスを作成して、呼び出されたときにCanvasに画像を描画しました。(この画像を見ると六角形のレイアウトが表示されます)すべてのノードには独自のNodeViewがあります(それぞれに他のプロパティがあるため)

私がやりたいのは、六角形が(ActionUpで)タッチされると、その画像を別の六角形の画像に再描画することです

これまでのところ、これは私が持っているものです

ACTION_UPでタッチした六角形を作成して、画像のみを変更するにはどうすればよいですか?

現在、NodeViewが使用されている場合、onDraw()メソッドを使用して、描画されるはずの六角形に応じて六角形を描画します(さまざまな地形にいくつかあります)。

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

android - ListViews を更新するときのカスタム ViewGroup の問題

まず、バグを含むサンプル プロジェクトを使用して gitHub にレポを作成しました: https://github.com/renaudfavier/SampleBug

customViewGroups の listViews に問題があります。非同期データ クエリをシミュレートしてから、リストビューを埋めようとしていて、問題があります。私の大きなアプリで必要なので、このアプリには少しやり過ぎがあることに注意してください。フラグメントに渡すことができません。

私の問題は、リストビューが更新されないことです。メニューを開くときに更新されることがあります

私の customViewGroup :

私のレイアウト:

主要 :

レイアウト.xml:

menu_layout.xml :

listViewItem

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

android - 別のメニューを表示しようとしています

Facebookアプリのように画面の右からメニューを表示させようとしています。そのためにカスタムビューグループを作成しようとしましたが、その中で何度か説明したコンテンツを更新するときに問題がありますフォーラムと私はまだ助けを見つけていないので、別の方法で試しています.

私の新しいアイデアは、「fill_parent」に2つのものを含む水平線形レイアウトの魔女を持つことです:

そして、メニューボタンをオーバーライドして、やりたいことを実行しようとしました

しかし、それは何もしません (理由を説明していただけますか?)

それから私はアニメーションを試しました

しかし、それは何もしません。よく覚えていれば、この場所をクリックすると実際には最初のレイアウトをクリックするため、メニューのボタンはこの方法ではクリックできません。

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

android - ズームとスクロールを処理できるカスタム ビューグループ

ズームとスクロールの両方を処理できるカスタム相対レイアウトを作成したいと考えています。同じかほとんどしないカスタムRelativeLayoutについて学ぶことができる良い例。

助けてくれてありがとう。

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

android - カスタム相対レイアウトのスケーリング?

スケーリングとスクロールが可能なカスタム RelativeLayout を作成しようとしています。今、私はスケールを達成しようとしました。これで、タッチ可能な Imageview を子として含む別の相対レイアウトの親レイアウトとしてカスタム相対レイアウトを作成しました。親のカスタム相対レイアウトをズームすると、子もズームされますが、Imageview のクリック可能な領域が変換される理由はわかりません。Imageview またはレイアウトが通常の位置にある場合、クリック可能な領域は Imageview にありますが、レイアウトがズームされるとすぐにクリック可能な領域がシフトしますか? クリッカブルの奇妙な位置ずれに直面している理由がわかりません

ここにコードがあります

私のカスタム相対レイアウト

ここに活動があります

これはxmlです

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

java - 同じ親に属さずに、複数の Android ビューを同じ .xml ファイルに保存できますか?

実行時にインスタンス化する必要があるいくつかの小さなビューを持つ Android プロジェクトがあります。これらの関連するすべてのビューを 1 つの xml ファイルに格納する方法を見つけることができませんでした。現在、これらの xml ファイルが多数存在することになります。それらをすべて単一のファイルに入れる方法があるかどうか疑問に思っていましたが、親のViewGroupに属していません。

android のレイアウト フォルダーは、サブフォルダーを作成する方法がないため、すべてが同じ場所に積み上げられているだけです。

誰かがこれらのものを整理するより良い方法を教えてくれることを願っています.

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

java - ViewGroup の WebViews 履歴の問題

WebViewsAndroid のホーム画面と同じように、ユーザーが 3 (レイアウト) をスワイプできるビュー グループがあります。ユーザーが戻るボタンを押して、現在表示されている WebView の履歴に戻ると、問題が発生します。何が起こるかというと、現在表示されている WebView ではなく、最後に使用された 3 つのビューの履歴が戻るということです...

ユーザーが戻るボタンを押したときに有効になる私のコードは次のとおりです。

この問題を解決できるように、現在フォーカスされている WebView を取得する方法はありますか?