問題タブ [android-custom-view]

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

android - Android - 実行時にカスタム タイトル ビューを変更する

アプリケーションで各アクティビティのカスタム タイトル ビューを使用しています。アクティビティの 1 つで、ボタンのクリックに基づいて、カスタム タイトル ビューを変更する必要があります。これで、setFeatureInt を呼び出すたびに問題なく動作します。

しかし、カスタム タイトルの項目を更新しようとしても (ボタンのテキストやタイトルのテキスト ビューを変更するなど)、更新は行われません。

コードをデバッグすると、テキスト ビューとボタン インスタンスが null ではないことがわかり、カスタム タイトル バーも表示されます。ただし、テキスト ビューまたはボタンのテキストは更新されません。他の誰かがこの問題に直面しましたか? どうすれば解決できますか?

ありがとう。

編集

これが私が試したものです。postInvalidate を呼び出しても更新されません。

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

android - カスタム コントロールの作成またはボタンのインライン化

iPhone のUITabBarに似たコントロールを作成する必要があります。これは、アプリケーションのすべてのアクティビティに存在します。UITabBar は基本的に、 TABのような動作を示す一連のボタンです。すべてのボタンがアクティビティにマップされます。

これには2つの解決策があります:

  1. すべてのアクティビティのレイアウト XML に、<LinearLayout><Button/><Button/><Button/></LinearLayout>要素を挿入します。次に、ボタンのクリックを処理する共通のリスナー クラスを作成します。したがって、すべてのアクティビティにはこのリスナーのインスタンスがあります。

  2. LinearLayout クラスを拡張するカスタム Widget を作成するには、すべてのボタンを静的メンバーとして配置し、ボタンのクリックを処理させます。このカスタム コントロールをすべての画面に含めます。

どのアプローチに従うべきかわかりません。ご意見をお聞かせください。代替案も高く評価

以下は、上記のアプローチについて私が考えるものです:
最初のアプローチの問題:

  1. 多くのボイラープレート コード (findViewByIds、setOnClickListener など) が生成されます。

  2. 5 つのアクティビティと 3 つのタブ ボタンがあると仮定すると、実行時に作成される Button オブジェクトの総数は 5 x 3 = 15 になります。

次の理由により、2番目のアプローチを採用したいと思います。

  1. すべてのコード (状態と動作) は、ウィジェット クラスによってカプセル化されます。ボイラープレート コードが少ない。

  2. ボタンは静的メンバーになるため、実行時に作成される Button オブジェクトの総数は 3 つだけになります。ただし、静的メンバーは (JVM がクラスをアンロードするまで) 長時間メモリに残りますが、コントロールはすべての画面に存在するため、これは許されると思います。

ありがとう。

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

android - 画面の特定の位置にカスタムビューを描画する-Android

2つのテキストビューと4つのトグルボタンで構成されるカスタムコンポーネントがあります。このビューを画面上の特定の位置に描画したいと思います。そんなことがあるものか?

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

android - Androidでスクラッチ可能なチケットの種類のカスタムビューアイテム?

インスタント宝くじゲームアプリを開発する必要があります。

Androidのインスタント宝くじに似たスクラッチ可能なカスタムウィジェットを実装するためのアイデア/手順が必要です。

要件は、実際のコンテンツ(秘密の番号)が何らかの画像(スクラッチ領域を示す)で覆われている必要があるようなものです。ユーザーが画像をタッチしてスクラッチすると、画像はゆっくりと消える必要があり、それに応じて背景コンテンツ(秘密番号)が表示されます。

これを実装するための最良の方法を教えてください。私はそれを本当に必要としています。

前もって感謝します。

0 投票する
3 に答える
9091 参照

android - Androidのタッチでオーバーレイ画像を透明にしますか?

ビットマップ画像上で指を動かしているときに、ビットマップ画像のタッチされた領域を透明にする(消去のように見える)のに助けが必要です。

アルファチャンネルを含むPNGファイルがあります。タッチしたピクセルを透明にして、ユーザーが実際に消去しているように感じられるようにしたい。

このために、フレームレイアウトを使用して2つのレイヤーをロードしています。下のレイヤーはコンテンツ用で、上のレイヤーは消去用のImageviewです。ユーザーが上層に触れて指を動かすときに、上層を消去する必要があります。

透明にする方法がわかりません。誰かがこれで私を助けてくれますか?私はこの画像処理に非常に慣れていないので、可能であれば、サンプルコードを教えてください。

前もって感謝します。

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

android - Android - Spinner ウィジェットのルック アンド フィールのカスタマイズ

radio buttonAndroidスピナー ウィジェットの色を変更することは可能ですか。デフォルトでは、ラジオ ボタンは緑色で表示されます。

他の色に変更する必要がありますが、可能ですか?どうすればよいですか?

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

android - カスタム Android コントロールを設計して Xml で使用するにはどうすればよいですか?

カスタム Android コントロールを作成する方法を理解しています。また、Xml レイアウトからその属性を取得する方法も理解していると思います。ただし、そこから子要素を取得する方法はわかりません。

これが私が達成しようとしていることの視覚的な例です:

メニューが作成されたら、2 つの MenuItem への参照を取得するにはどうすればよいですか?

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

android - SurfaceViewとカスタムビュー(ビューから拡張)。SurfaceViewの速度が遅いのはなぜですか?

私は同じプログラムを2つの方法で書きました。

1つはSurfaceviewを使用し、もう1つはカスタムビューを使用します。android SDK開発ガイドによると、グラフィックを処理するために別のスレッドを生成できるため、サーフェスビューを使用する方が優れています。SDK開発ガイドでは、invalidate呼び出しでカスタムビューを使用することは、アニメーションが遅く、グラフィックの強度が低い場合にのみ有効であると主張しています。

ただし、私の単純なアプリでは、無効化の呼び出しでカスタムビューを使用すると、レンダリングが速くなるように見えることがはっきりとわかります。

あなたたちはこれについて何を知っている/考えていますか?

私のtouchEventコードはまったく同じであり、描画コードもまったく同じです。唯一の違いは、1つはすべてUIスレッドにあり、もう1つは描画を処理するためにトレッドを使用していることです。

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

android - 階層ビューアで高さの変化を表示

それは私の最初の質問です。

カスタム コンポーネントを作成しました。下部にRelativeLayoutaがあり、その上に 2 つあり、ヒストグラムの 2 列のクリック可能な要素として機能します。バーの高さを設定するには、コンテナの高さからラベルの高さを引いたものとして、「利用可能な高さ」を取得します。TextViewImageViewonLayout()

次に、レイアウト パラメータとして ImageView に割り当てます (0.-1. の値を掛けます)。

変数 (0.-1.) は、次のmBigBarHeight関数で設定できます。

今。これらの「HistogramBar」の1つを追加onCreate()して高さとラベルを設定すると、すべてが期待どおりに機能します。後で変更しようとする場合は、onClickSomething と言ってください:

ラベルのみが変更されます。Hierarchy Viewer で確認したところ、実際には LayoutParams が変更されました。もう一度クリックすると、変更が表示されます。

面白いことに、ツールの変更から「ビュー階層の読み込み」を行っても(エミュレーター上で) 表示されます!! 何が起こるのですか?変ですか?それが機能するように、コードでそれを行いたいです!

同様の質問は見つかりませんでした。ありがとう。

0 投票する
5 に答える
2902 参照

android - このフローティングメニューはどのように実装されていますか?

このウィジェットは何と呼ばれていますか(3つのボタンがあるウィジェット)、誰もが知っていますか?

Androidブラウザのスクリーンショット