問題タブ [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.
android - Android ビューのすべてのサブビューをループしますか?
私はAndroid用のゲームに取り組んでいます。それを実装するのを助けるために、私の考えは、ビューのサブクラスを作成することです。次に、このクラスのいくつかのインスタンスをメイン ビューの子として挿入します。各インスタンスは、(OnTouchListener を介して) 押されたときの検出を処理します。
私が今抱えている問題は、これらすべてのサブビューをループして、それらのステータスを読み取って処理できるようにする方法です。(つまり、すべてが特定の状態に達すると、何かが起こるはずです)。
または、タッチに反応する複数のオブジェクトを画面上に表示し、そのステータスを確認できるより良い方法はありますか?
android - bringToFront()を呼び出さずにビューを前面に表示するにはどうすればよいですか?
どうやらAndroidには壊れたバグView.bringToFront
があります。
ビューをGridViewに配置していて、bringToFront()を呼び出してビューを前面に表示したい場合、GridViewの右下の位置に移動することがあります。
何か怪しげなことが起こっているので、bringToFront()を使用できません。私がそれを呼ばないとき、すべてがうまくいきます。ただし、ビューは重複しています。スケールアニメーションを使用してビューをスケールアップすると、下部と右側のビューによって部分的に隠されます。
私はbringToFrontのソースをチェックアウトしました、そしてそれはparent.bringChildToFront(...)を呼び出します
この方法です
どうやらそれ自体からビューを削除します!容赦なく!ViewGroupは非常に馬鹿げているので、シャッフルが制御する他の方法でZインデックスを管理することはできませんか?明らかに、GridViewがその子を削除してから再度追加すると、グリッドの最後に配置されます。
ハッキングに頼ることなく、他の人の上にビューを表示するために私ができることはありますか?私の頭に浮かぶことの1つは、GridViewの上に別のビューを作成することです。これは私がbringToFront()しようとしているビューの上に表示されますが、このソリューションは好きではありません。
android - 複数のビューを含むボタンを作成するには?
Android では、他のビューを含むボタンを作成したいと考えています。たとえば、次のようなものです。
しかし、この特定の例よりも柔軟にしたいと思います。理想的には、別の XML ファイルでレイアウトを実装できるように、ボタンに ViewGroup を単純に含めることができるようにします。ただし、Button は View を拡張しますが、ViewGroup は拡張しないため、これは不可能と思われます。
標準の Android コンポーネントを使用してこれを実現する方法はありますか、それともカスタム ボタン クラスを作成する必要がありますか?
要求に応じて、トリックを実行する XML の例:
TextViews の色を明示的に設定する必要がありました。そうしないと、ほとんど判読できなくなります (デフォルトでは白です)。SDK から識別子を掘り起こしました: .../platforms/android-7/data/res/values/public.xml
. 奇妙なことに、primary_text_light
黒のテキストが表示されますが、primary_text_dark
結果は白になります...
android - Android 設定アクティビティの典型的なレイアウト構造は何ですか?
私が作成しようとしている種類のアクティビティの良い例は、gmail アプリ設定アクティビティです。カスタマイズ可能なすべての設定が垂直方向にリストされ、各設定の間に水平方向のルールが表示されます。通常は同じように見えるさまざまなフィールドがあります。例: 通常、テキスト フィールドには太字の見出しが表示され、その下に説明が表示され、右側に丸で囲まれた三角形が表示されます。
ルート ビューとはどのようなビューグループですか? 各フィールドはどのようなビューまたはビューグループですか?
android - ViewGroup のビュー
次のシナリオがあります。ビューグループと 2 つのビューがあります (1 つは長方形を描き、もう 1 つは楕円形を描きます)。ビューグループと 2 つのビューは、OnTouchListener インターフェイスを実装します。しかし、ビューをタッチすると、Viewgroup.onTouch(..) と RectView.onTouch() と OvalView.onTouch() の両方が呼び出されます。私の質問は..どのビューに触れたのか知りたい場合は、何をする必要がありますか? 情報や例を教えてください。
前もって感謝します、
android - Android-ビューを非表示
さて、私は周りを見回して、あなたがそれを行うように想定されている方法を確認しましたが、私にとっては、それは機能していません。
XMLとコードの両方でRelativeLayoutのアルファを設定できる必要があります。私のXMLには、次のものがあります
エラーが発生します:no resource identifier found for attribute 'alpha' in package 'android'
また、Androidのドキュメントに基づくと、setAlpha(double)
任意のViewオブジェクトを呼び出すことができるはずですが、RelativeLayoutでその呼び出しを行おうとすると、このオブジェクトに対してこのメソッドが定義されていないことがわかります。
AndroidでRelativeLayoutオブジェクトのアルファ透明度を制御できないのはなぜですか?私は何かが足りないのですか?ありがとう!
アップデート
可視性プロパティの使用は機能しますが、ViewGroupをクリックできなくなります。私はViewGroupのOnTouchListenerを利用しているので、これは私にとって重要です。
私がやろうとしているのは、最初は非表示になっているメディアコントロールを備えたレイヤーを作成することです。ユーザーが画面をタップしたときにコントロールをフェードインさせ、もう一度画面をタップしたときにコントロールをフェードアウトさせます。この部分はすでに機能しています。アプリケーション全体の上にあるビューグループを使用しており、OnTouchListenerが接続されており、タッチされているかどうかを判断できます。私の問題は、アニメーションを実行してコントロールをフェードアウトした後、それらが再表示されることです。@Hydrangeaの提案を使用すると、フェードアウトしてすぐに非表示にすることができます。これにより、目的の効果が得られますが、ViewGroupはクリックできなくなり、ユーザーはコントロールを元に戻すことができません(または、最初に行うことを決定した場合は、元に戻すことができません)。
これが理にかなっていることを願っています。
android - グループ インスタンスを表示
私はアンドロイドに非常に慣れていません...ビューグループを処理する方法を誰かに教えてもらえますか?
例えば:
ファイルに線形レイアウトがありmain.xml
ます。ビューを追加できる唯一の方法findViewById
は、線形レイアウトの ID を使用して指定することです。ビューグループのハンドルを取得し、などの機能を実行する汎用メソッドを開発したいgetChildCount()
...
android - カスタムViewGroupの例?
私はここでSO、Google、アンドロイドドキュメントで検索しました...
しかし、カスタムビューグループの例を含む単一のコードスニペットを見つけることができません.せいぜいいくつかの漠然とした説明しか見つかりません...
誰かがそれを提供できますか?子を好きな場所に配置できるビューグループをどのように作成しますか?
android - スワイプ / (フリング) 動的ビュー
私がしたいこと:
スワイプまたはAndroid flingで名前が付けられていることをアプリに追加したいと思います。ビューの動的な数があります。この数は、解析する ICS ファイルからの日付の量です。これらすべてのビューをまとめてスワイプ効果を作りたいと考えています。しかし、これらのうち12個がそれぞれ8つのアイテム(最大)を持つListViewを持っているとしましょう。それは私が推測する多くのメモリを使用します。したがって、現在選択されているビューの前の2つと後の2つだけを初期化したいと思います。
私が試したこと:
私の検索では、HorizontalPagerについて言及しているこの stackoverflow の質問を見つけました。しかし、私はそれを多くのListViewで動作させ、動的にロードすることを知りません。
ViewGroup を試してから、ListView を追加および削除しましたが、機能しません。ViewGroup は表示されますが、ListView は表示されません
GetEvents() は、ローカル データベースからいくつかのイベントを取得する AsyncTask (viewgroup クラス内のクラス) であり、コードは onPostExecute であり、次のとおりです。
eventItems は、カスタム rowadapter に解析する配列です (これは機能することがわかっています)。ビュー グループは表示されますが、listView は表示されません。
助言がありますか??
android - Android ViewGroup.removeView()が機能しない
ViewGroupを拡張して、プロジェクトに小さな「ウィジェット」を作成しました。そのウィジェットで、ボタン(ImageView)を追加および削除したいと思います。
ウィジェットの作成は簡単で、ボタンの追加は問題なく機能しましたが、以前に追加したボタンを削除したい場合、コードにアクセスしても画面に表示されることがあります。
ウィジェットはレイアウトxmlを介して追加され、アクティビティからウィジェット内の関数を呼び出すことでボタンを追加/削除します。より正確には; ウィジェットはonClickEventを取得し、それをアクティビティに送信します。アクティビティは、removeView()を使用してボタンを削除するようにウィジェットに指示します。
ウィジェットとボタンの両方でinvalidate()を試してみました。また、invisible、layout(0,0,0,0)などに設定しようとしましたが、何も機能していません。私が間違っていることを知った人はいますか?
編集:下のコメントで答えてください