問題タブ [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.
java - カスタム ビューの作成: クラスを拡張し、基本クラスのプライベート メンバー変数にアクセスするにはどうすればよいですか?
演習として、ImageButton
便利だと思われるいくつかの機能を追加するために拡張しようとしています。特に、1つはドロウの影です。私はこれでことわざの壁にぶつかりました。
クラスの拡張BitmapDrawable
が必要だと私には思えます。このクラスにはPaint
、ビットマップを画面に描画するために使用されるオブジェクトが含まれています。Paint
もし私がこのオブジェクトにアクセスできたら...私がしなければならないことは、それのsetShadowLayer()
メソッドを呼び出すことだけですprivate
. public
ペイント オブジェクトを返すメソッドがありgetPaint()
ますが、対応するメソッドがない限り、それを変更しても意味がありませんsetPaint()
。(ありません。)
現在、私の思考プロセスは次のようになります...
- クラス
ShadowBitmapDrawable
を作成するextends BitmapDrawable
- このクラス内で、何らかの方法で
BitmapDrawable
のPaint
オブジェクトをPaint
のsetShadowLayer()
メソッドで変更します。 - 私のカスタム
ImageButton
クラスでは、 を呼び出して、それを私のオブジェクトsetImageDrawable(Drawable d)
に渡します。ShadowBitmapDrawable
ステップ 2 は障害物です。BitmapDrawable
のPaint
オブジェクトを変更するにはどうすればよいですか? この問題のどこにいるのかを示す指標としてのみ、思考プロセスを追加したことに注意してください。私は他の提案を受け入れます。
ここにいくつかの参照があります:
- BitmapDrawable ソース(
Drawable
ビットマップを描画するように拡張) - ImageView ソース(の基本クラス
ImageButton
) - 描画可能なソース
PS 私は、私が得ようとしている答えをすでに知っていて、それが好きではないという気分が悪い. とにかく質問を投稿して、最善を尽くしたいと思いました。
android - カスタム ビューで値を取得すると Android SharedPreferences がクラッシュする
私はしばらく見回してきましたが、誰も同じ問題を抱えているようには見えないので、単純なプログラミングエラーかもしれません.
タブレットに新規インストールすると、プログラムがロードされます。次に、設定メニューに移動して nPref テキスト ボックスを選択し、値を入力すると、プログラムは問題ありません。しかし、プログラムを再起動すると、値が入力された後に最初にクラッシュします。
私のプログラムの大まかな概要は次のようになります。
他に必要なものがあれば投稿できます
ありがとう!
android - Android:カスタムスピナーサイズの問題
カスタムスピナーを作成しましたが、サイズが希望どおりではありません。スピナーは、必要なリストの間隔を取得するために非常に大きくなります。スピナーボタンのサイズとは関係なく、スピナーの行のサイズを変更できるようにしたい。スピナーを薄くしてから、セクションの行の間隔を広くしたい。(下の画像を参照):
現在、スピナーの行のxmlは次のとおりです。
相対レイアウトを使用したかったのですが、テーブルレイアウトの方が少し間隔が広くなりました。高さを作成しようとすると、行のテキストとアイコンが切り取られます。main.xmlのスピナーは次のとおりです。
スピナーのサイズを標準のAndroidスピナー(右側)と同じにしたいのですが、現在、スピナーが大きくなり、行の間隔が小さすぎます。
何か案は??
android - AndroidのregisterOnSharedPreferenceChangeListener()により、カスタムビューでクラッシュが発生します
この行を追加しようとすると、アプリがクラッシュします。私はそれを正しい場所に置いていませんか?
これが私のクラスです
ありがとう!
android - デバイスのトラックボールを使用して、Android リストビューのチェックボックスを選択してチェックします
私の Android アプリケーションでは、リストビューを使用しており、リストビューの各要素には 2 つのチェックボックスがあります。問題は、ユーザーがデバイスのトラックボールを使用してこれらのチェックボックスを選択できないことです。デバイスのトラックボールでチェックボックスを選択するために移動すると、要素全体が強調表示され、ユーザーがリスト ビューの要素にあるチェックボックスの 1 つを選択できなくなります。
タッチスクリーンの場合、指を動かしてチェックボックスをクリックすることができます。しかし、デバイスのトラックボールを使用して移動し、必要なチェックボックスをクリックするにはどうすればよいですか。
誰かが私がこれを達成するのを手伝ってくれるなら、それは大きな助けになります.....前もって感謝します...!!!
編集...または、トラックボールで作業することは不可能ですか?????
android - Androidでカスタム&コンポジットビューを作成する方法
Android でカスタム ビューと複合ビューを作成したいと思います。私のカスタム ビューには、1 つのテキストビュー、5 つのラジオボタン、2 つのボタン、およびいくつかの画像が含まれます。やり方がわかりません。いくつかの例またはコードスピネットがあれば、それはいいでしょう..
android - Android: カスタム ビューのインスタンス化に失敗する
アプリに Smaato を追加してモノタイズしようとしています。開発者ガイドに従っていますが、バナーのカスタム ビューがインスタンス化されていないというエラーが表示され続けます。相対レイアウトでラップされたカスタム ビューがあります。
私は他の手順に従いますが、ビューをインスタンス化する方法を示す場所はどこにもありません。これを行う方法はありますか?
java - 状態を正しく保持していないAndroidカスタムコンポーネント
レイアウトに4つのカスタム複合コンポーネントがあり、それぞれがRelativeLayoutから拡張されています。概念的には、タイトルとチェックボックスを含む行をリストするだけです。各コンポーネントが独自のチェック状態を保持するようにします。残念ながら、彼らはどういうわけか彼らの状態を共有しているようです。つまり、構成の変更後、4つすべてのチェック状態は、レイアウトの最後の1つだけがチェックされたかどうかによって決まります。ロギングを行ったところ、onSaveInstanceStateとonRestoreInstanceStateの両方が、一意に識別された行ごとに2回呼び出されていることがわかりました。
私は助けていただければ幸いです、これは困惑しています
}
android - さまざまな画面サイズでのカスタム ビュー
私は、日付を指定するとそれを表示するDateView
(を拡張する)カスタム ビューを持っています。LinearLayout
問題は画面のサイズにあります。小さい画面、通常の画面、大きい画面、および特大DateView
の画面で日付を異なる方法で表示する必要があります。いつでもandをインスタンス化できるため、aの拡張は便利です。DateView
LinearLayout
DateView
addChild
何か案は?
android - xml RelativeLayout でカスタム SurfaceView を使用して Android アプリを 2 回目に実行する際の問題
私はstackoverflowとAndroid開発が初めてです。Google を使用して Android の質問に対する回答を検索するたびに、ここに誘導されるようです。
ウェルカム画面で始まるシンプルなアプリがあります。ユーザーが再生ボタンを押すと、次のメソッドが呼び出されます。
クラス GameActivity (Activity を拡張する) では、以下を使用します。
このレイアウトは次のようになります。
私はこのアプローチを選択しました (インターフェイスのインタラクティブな部分を簡素化するために、xml レイアウトを使用したカスタム SurfaceView.
私が抱えている問題は、この実装はアプリを初めて実行したときに正常に動作しますが、ユーザーが終了ボタン (finish() を呼び出す場所) を押して終了したり、デバイスの [戻る] ボタンを押したりすると、できないことです。アプリを再実行します。アプリ アイコンをもう一度押すと、空白のアプリが開き、タイトル バーが表示されます。この画面で [戻る] ボタンを押しても効果はありません (終了するには、ホーム ボタンを押す必要があります)。
私が使用する場合:
それ以外の:
つまり、onTouch() イベントでカスタム SurfaceView を使用して finish() を呼び出すだけで、アプリは適切に動作します (必要に応じて何度でも停止および再起動できます)。
GamePanel クラスのコードは次のとおりです。
私の実装に根本的な問題がありますか? どんな助けでも大歓迎です。ありがとう。