問題タブ [android-framelayout]

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 に答える
3153 参照

android - frameLayout内のsurfaceViewからbringChildToFront()を呼び出しても機能しませんか?

surfaceViewの子をframeLayoutに追加してから、bringChildToFront()を呼び出して、別の子ビューをsurfaceViewの前に移動できますか?

これは私が作った最初のAndroidアプリです。セットアップに意味があるかどうか、または間違った場所で間違ったことをしている場合はお知らせください。

  • FrameLayoutを持つアクティビティが1つあります。
  • 2つのビュー(pauseMenuViewとmainMenuViewという名前)があります。これらは、4つのボタンがある単純なビューです。これらのメニューボタンは、アクティビティ内のonClick()をオーバーライドすることで処理されます。
  • SurfaceViewを拡張する3番目のカスタムビュー(gameViewと呼ばれる)があります。これは、現在、ゲームプレイに関するほとんどすべて(タッチイベントの処理、グラフィックの描画、アニメーション、衝突検出)を処理している場所です。ゲームの状態(一時停止、一時停止なしなど)とフレームレートを制御するための個別のスレッドがあります。

つまり、基本的に、ゲームをプレイしている間、画面の左上隅に一時停止アイコンがあります。彼らがそのアイコンに触れたときに、私のgameViewのonTouchEventがbringChildToFront(pauseMenuView)を呼び出して、一時停止メニューを表示するようにしようとしています。ただし、現在、bringChildToFront()またはbringToFront()を呼び出すと、効果がないかのように何も起こりません。私のgameViewはまだ表示されています。

これが私のアクティビティからの関連コードです:

そのため、アプリが起動するとmainMenuViewが前面に表示され、プレーヤーがonePlayerButtonをクリックすると、gameViewが作成されてframeLayoutに追加されて前面に表示され、ユーザーはゲームのプレイを開始します。

次に、ゲーム中に、ユーザーがgameViewの一時停止アイコンをクリックすると、onTouchEvent()メソッドがそれをキャッチし、これを実行します。(pauseMenuViewを公開したので、gameViewがそれを見ることができます)...私のプログラムはmThread.pause()行に直接移動し、最初の2行では何もしないようです...試しましたここでgameViewを非表示に設定すると、画面は完全に黒くなりますが、一時停止メニューが表示されている場合は一時停止ボタンがある場所をクリックできます。実際には、アクティビティのonClick()によって検出されます。ここで何が起こっているのですか?

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

android - 2 つの要素を持つフレーム レイアウト

TextView と Backgroundcolor を持つ View の 2 つの要素を持つ FrameLayout を取得しました。これが期待どおりに表示される前に見えなくなると、ビューはテキストビューをオーバーレイします。ただし、このレイアウトを別のレイアウトに膨らませると、色付きのビューが消えます。助言がありますか?

これはインクルードのコードです

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

android - Androidでwebviewを含むFrameLayoutを90度回転させる

私はアンドロイドでウェブビューを含むフレームレイアウトを回転させようとしています、ここに私のコードがあります:

回転は問題ありません...しかし問題は、レイアウトの回転された座標系に従って、webview のクリック可能な領域が座標を変更していないことです。また、webview のスクロールが逆になっています

この問題を解決する方法に関する提案

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

android - Androidで特定の座標を持つ画像の上に画像を配置する

最終目標:テスト結果に従って、スピードメータースタイルの針をダイヤルの周りに移動させる。

現在の問題:現時点では、FrameLayoutを使用して、スピードダイヤルの上に別の画像として針を配置しました。私は針を座標で配置する方法を探してウェブを精査しているので、文字盤の好きな場所に針を正確に配置できます。画像を投稿しますが、フォーラムは初めてで、許可されていません。

つまり、正確な座標(回転などを可能にする)で画像を別の画像の上に配置できますか?私は自分の問題を解決するために正しい道を進んでいますか?

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

android - アクティビティにフラグメントを動的に追加する

私はフラグメントを使用しています。左のフラグメントで何かを選択すると、メインのアクティビティによって右のフラグメントが作成されます。

だから私は Fragment を FrameLayout に追加するためにこれを行いました:

しかし、私はこのエラーが発生します:

前に FrameLayout ビューを削除する必要がありますか? それとも別の見方?その方法は?

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

android - FrameLayoutの子は描画されません

私はAndroidアプリに関数を実装しています。この関数では、ユーザーがFrameLayoutドラッグアンドドロップの手法を使用して、ビューを動的に追加および削除し、絶対座標で配置することができます。ユーザーは通常、間取り図の画像を背景としてロードFrameLayoutし、家のランプを表すボタンを追加して、適切な場所に配置します。

FrameLayoutとにかく、ロード時にビューを膨らませて追加する必要があるという問題がありますFragment。子ビューは、SQLiteデータベースの情報から取得されます。子ビューを正しく配置するには(向きによって異なります)、の幅と高さを考慮する必要がありFrameLayoutます。したがって、この作業をonCreateView()自分ので行うことはできませんFragment

これFrameLayoutは実際にはDragArea(簡単にするために、このオブジェクトを引き続き参照しますFrameLayout)、を拡張するカスタムクラスFrameLayoutです。Fragment幅/高さが計算されたときにコールバックを取得するために、呼び出しをオーバーライドonSizeChangedします。FrameLayoutFragment

そして、これが奇妙なことです。のcallbackメソッドでFragmentビューを作成し、何も呼び出さない場合は、FrameLayout.invalidate何も起こらないようです。検査によると、ビューは追加されていますが、表示されていFrameLayoutません。階層ビューアーを開いて[ビュー階層のロード]を押すと、ビューが表示されます。したがって、ここにはビューを描画する副作用があるようです。呼び出しを試みましたがFrameLayout.requestLayout()、ロジックを実行してUIスレッドで実行されていることを確認しましたgetActivity().runOnUiThread()が、違いはありません。

しかし!代わりにロジックをonPostExecuted()(そうでなければ役に立たない)内部に配置するとAsyncTask、ビューが描画されます。

これがコメントでさらに説明されている以下のコードを参照してください。コールバックメソッドには名前が付けられonWidthAvailable()、から呼び出されFrameLayout.onSizeChanged()ます。

invalidate()私はまた、運が悪かった後の任意の時点で電話をかけようとしました。

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

android - Android:FrameLayout内でアニメーションを変換した後、下部のTextViewをクリックできません

2つの同一のTextViewを配置したFrameLayoutがあります。最初のビューを左に翻訳できるようにしたいと思います(これは私が行っており、魅力のように機能しています)。ただし、その下にあるTextViewをクリックしてアクションを実行できるようにしたいと思います。

下部のTextViewをクリックしようとすると、代わりに上部のTextViewが再度クリックされます。これは、アニメーションのレンダリング方法と実際のx、y位置の変更が有効にならないためだと感じています。

これは私がこれまでに持っているものです。

コード:

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

android - GONE 時の Fragment FrameLayout アニメーション

フラグメントフレームレイアウトコンテナを削除するときにこのフラグメントアニメーションがどのように行われるかを知っているか、例を挙げることができるので、コンテナがGONEに設定されていると、消えずにアニメーション化されますか? すなわち。左にスライド Thnx!