問題タブ [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.

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

android - Androidで画像とテキストを同じ行に揃えます

左側に画像、中央にスイッチテキスト、右隅にスイッチボタンが必要です。これが私のコードです

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

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 を呼び出すブール値を追加しようとしましたが、成功しませんでした。多分それは行くべき道であり、私は何か間違ったことをしました.

残りのアイデアのみ (これを実行するつもりはありません): スイッチを手動でアクティビティ ルート ビューに追加し、正しい位置に配置して、この設定 (いくつか) を持つ各アクティビティからハンドルします。