問題タブ [switchcompat]
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 - CheckBoxPreference SwitchCompat の欠落アニメーション
スイッチのアニメーションを機能させるために 10 時間以上を費やしました。
私は非常に多くのことを試みたので、いくつかの試みを覚えていませんが、覚えているものについて説明します。
動作するはずのコード(私は思う):
widgetLayout パラメーターを使用します。
switchcompat_for_settings:
アニメーションなし。
このコードで SwitchCompat を拡張する (最善の試み??): https://gist.github.com/antifriz/ad4412b72d50f63ec977
false から true になるとアニメーションがあり、true から false になるとアニメーションはありません。
理想的ではない動作 (ただし、防止できない場合は許容されます): 値が true の場合、アクティビティが読み込まれるとアニメーションが再生されます。
次のコードで拡張します。
Android Lollipop で Preference クラスを拡張する = アニメーションが失われる
アニメーションは一切ありません。
SwitchPreference の使用:
Lollipop の前は古いビューなので、Lollipop の前と後で異なる xml が必要になるため、理想的ではありません。SwitchPreference が 1 つしかない場合でも、アニメーションはありません。いくつかの連続した SwitchPreferences を使用すると、1 つを除くすべてでアニメーションが表示されます (設定テンプレートを使用した新しいプロジェクトと同じ問題も確認しました)。
また、私は、1 つを除くすべてのアニメーションよりも、どの環境設定にもアニメーションがないことを好みます。
2 番目のスイッチの追加:
switchcompat_for_settingsで、2 つ目のSwitchCompatを追加し、id=@android:id/checkboxを非表示に設定します。CheckboxPreference を拡張して onBindView をオーバーライドし、呼び出した後super.onBindView
、追加の SwitchCompat を見つけてsetChecked
適切な値を呼び出します。
onPreferenceClickで、追加のスイッチの setChecked を呼び出します。
アニメーションなしでトグルします。私の理解では、問題は onBindView が何度も呼び出されるため (設定を作成するとき、および切り替えるたびに)、アニメーションがキャンセルされることです。
onClick から呼び出された後にのみ onBindView で setChecked を呼び出すブール値を追加しようとしましたが、成功しませんでした。多分それは行くべき道であり、私は何か間違ったことをしました.
残りのアイデアのみ (これを実行するつもりはありません): スイッチを手動でアクティビティ ルート ビューに追加し、正しい位置に配置して、この設定 (いくつか) を持つ各アクティビティからハンドルします。