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

android - AlertDialog.Builder のラジオ ボタンのスタイルをカスタマイズするには?

AlertDialog.Builder のラジオ ボタンの外観をカスタマイズする方法があるかどうか疑問に思っています。カスタム ラジオ ボタン イメージに最適なセレクター XML ファイルがありますが、それを AlertDialog.Builder に割り当てる方法がわかりません。それは可能ですか、それとも完全にカスタムのダイアログを作成する必要がありますか? ヘルプ/アドバイスをいただければ幸いです。

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

android - View.onTouchEventは、ACTION_DOWNイベントのみを登録します

カスタムを実装しTextViewていて、ビューがタッチされたときに何らかのアクションを実行したいと思います。このonTouchEvent方法では、ビューを使用せずにすべてのタッチを使用できると考えましたsetOnTouchListener(アクティビティではなく、ビュー内ですべての作業を実行しようとしているため、移植可能です)が、登録されているタッチイベントはACTION_DOWNです。OnTouchListenerこれを使用してアクティビティにを設定すると、すべてのタッチイベントが取得されますが、取得されonTouchEventません。

なぜこれが当てはまるのか誰もが知っていますか、または誰かが私に使用を伴わない解決策を提供できますかsetOnTouchListener(実装アクティビティが独自のリスナーを設定するのを妨げるでしょう)?

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

android - カスタム ビューの質問

私は Android 開発に不慣れで、カスタム ビューとビューのカスタマイズに xml を使用することについて質問があります。

だから私のコードでは、拡張ビュークラスを使用してビューを定義しています。

そして、DrawView クラスでは、キャンバスを使用して操作を実行しています。

私の質問は、

  1. 定義したこのビューと組み合わせて XML レイアウトを使用できますか?

  2. このカスタム ビューにいくつかのボタンを追加する必要があります。このシナリオでそれを実現するにはどうすればよいですか。

ありがとうございました。

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

android - ビューの幅を見つける-必要になった後に呼び出されるonSizeChanged

基本的に、テーブルレイアウトを内部に持つカスタムスクロールバーを作成しています。テーブルの行をテーブルのレイアウトに動的に挿入してから、テキストビューをそれらの行に挿入しています。スクロールビュー全体の幅を知る必要があるので、その長さを取得して、各テキストビューの長さで割ることができます。onSizeChangedメソッドを使用して、スクロールビューの幅を取得しています。これは正常に機能します。

ただし、問題は、スクロールバーを作成した直後に「行を追加」メソッドを呼び出すことです。この「行の追加」メソッドは、スクロールバーがonSizeChangedメソッドに入る前に呼び出されているようです。そのため、「行の追加」の呼び出しは、幅変数がまだゼロに設定されているときに行われます。

このインターリーブを停止する方法はありますか?または、コンストラクターでスクロールビューの幅を見つけるためのより効率的な方法はありますか?ありがとう!

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

android - カスタム ビューから値を返す

内部クラスとして 2 つのカスタム ビューを持つクラスShowWeightを拡張します。LinearLayoutmain.xml の XML タグを使用して、このクラスを使用しています。

ShowWeight クラスには 2 つのパブリック変数がありmain.xml、ビューとして使用するメイン アクティビティで値の変化をキャプチャする必要があります。

どうすればいいですか?メインアクティビティでこれを試しました:

これは showWeight クラスにあります。

これにより、NullPointerException.

いくつかの提案をいただければ幸いです(データベース、静的変数、オプションではありません)

アップデート:

残念ながら、私はコードを投稿することを許可されていません。あいまいに見える場合は申し訳ありませんが、ShowWeightクラスが問題を引き起こしている可能性のあるものを何も変更していないと確信しています。

XML タグを使用して main.xml ビューに追加した ShowWeight クラスは正常に表示され、適切に機能します。

Main Activity で使用ShowWeight sw=(ShowWeight)this.findViewById(R.id.sw);してから Toast または Print ShowWeight を使用すると、 'null' が取得されます。また、setContentDescription(),getContentDescription()ShowWeight の XML タグにデフォルトの contentDescription を指定したため、エラーが発生することはありません。

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

android - 通常、onClickListener をインフレートされた xml ボタンに設定します

フォームのように機能するカスタム edittext があります。ラベル、編集テキスト、およびボタンがあります。フォームを繰り返し使用できるように、タグを使用してレイアウトに含めています。ボタンに持たせたい機能は、クリックしたときの形を再現することです。これは、最初のフォームの最初のクリックで可能です。ただし、新しいフォームのボタンをクリックしてもアクションはありません。ただし、最初のフォーム ボタンをクリックすると、新しいフォームが作成されます。これは私の xml: です。

そして、これは私が新しいフォームを動的に追加しようとしている方法です:

これを実装するためにさまざまな方法を試しましたが、うまくいきません。ヘルプや提案は大歓迎です。

0 投票する
14 に答える
51918 参照

android - Androidのテキストビューで上下のスペースを削除する方法

XML以下をレイアウトファイルに含めると、下の画像が表示されます。よく見ると、TextView上下にスペースがあることがわかります。

ここに画像の説明を入力

スペースを削除したい。それを取り除く方法は?それはなんと呼ばれていますか?誰かが手がかりを持っているなら..私に知らせてください。前もって感謝します。

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

android - New York Times アプリのような Android ステータス バーの構築

New York Times の Android アプリには、上部に通知バーのようなものがあります。

これは、テキスト ビューを含むレイアウトに含まれていると思われます。問題は、トップニュースを表示するために、そのタイトルを下にドラッグすることに成功したことです.

これを複製する方法について誰かが洞察を与えることができますか?

編集:

はい、引き出しは私の問題の解決策でしたが、ニューヨーク時間とデフォルトの SlidingDrawer は下から上にのみ移動するように設計されているため、引き出しが必要でした。必要に応じて機能させるのは難しいですが、Custom SlidingDrawer を使用したレイアウト配置の問題のケースに従うことができます

New York Times Android 通知バー

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

android - カスタム DatePicker ボタン。Android のカスタム コンポーネント

カスタム日付ピッカー ボタン コンポーネントを作成しようとしています。ボタンには日付が表示され、クリックすると日付ピッカー ダイアログ ボックスが開きます。Android Dev Docs/Tutorial を使用してこのメ​​ソッドを実装しましたが、コードに 2 つあり、コードを少しクリーンアップする DateButton というカスタム クラスを作成する方がよいと考えました。したがって、同様のボタンが必要なときはいつでも、XML で DateButton の宣言を作成できます。とにかく、カスタム ビューを作成するのはこれが初めてで、カスタム ボタンをレイアウトに追加しようとするたびにエラーが発生します。

これが私がボタンに見せたいものです(非常に単純です)

ここに画像の説明を入力

クリックすると、組み込みの Android 日付ピッカー ダイアログがポップアップ表示されます。

ここに画像の説明を入力

このカスタム日付ボタンの現在のコードは次のとおりです。

編集:私はまだ問題に直面していますが、これに似た例はありますか? 助けてくれてありがとう!

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

android - onDraw メソッドの外でカスタム ビューのキャンバス サイズを取得するにはどうすればよいですか?

いくつかの計算を実行するには、ビューのキャンバスのサイズにアクセスできる必要があります。何らかの理由で、 に渡されたビューのonSizeChangedサイズが に渡されたキャンバスのサイズと異なりonDrawます。私の現在の回避策では、ブール値フラグを使用して、いつ計算を行う必要があるかを判断します。

理想的な解決策では、onSizeChangedメソッドでこれらの計算を行うことができるので、疑問に思っています...メソッドCanvasの外でオブジェクト(または少なくともその次元)を把握できる方法はありonDrawますか?

私のコードは以下です。指定された角度で円の半径を描画します。canvas.centerX()半径の始点と終点を決定するために使用すると、すべてが完全に機能します。に渡されたパラメーターを使用すると、onSizeChangedリモートで正しいとは限りません。