2011-10-04 23 views
3

私はカスタム設定を作成しましたが、そのパディングは標準設定のパディングのようには見えません。誰かが数字で遊ぶことなくどのように追加できるのかを知っていますか?青い背景のピクチャには、プリセットパディングのない新しい設定項目があります。複数のデバイス上でテストした後カスタム設定の標準埋め込み

Custom preference with blue background

異なるデバイス上での標準的なパディングが異なっていることが分かりました。パディングが手動で設定されていると、UIが不一致になります。

答えて

1

左サイドの意向アイコンの場所です。設定レイアウトには、コンテンツに独自のマージンがあります。私自身のレイアウトを膨らませると、自分自身でスペースとマージンを定義する必要があり、レイアウトを部分的に継承することはできません。 しかし、環境設定には、環境設定の右側の残りのスペースを取る「widgetLayout」レイアウトがあります。このスペースは、好みのレイアウトでカスタマイズすることができます。

+0

どうすれば左のパディングを標準と同等にすることができます – 4ntoine

+0

問題が発生する頃には、標準のパディングを継承する方法が見つかりませんでした。 – Maxim

0

通常、変更する必要がある場合を除いて、デフォルトのビュー要素はそのままにしておきます。

3.x用のパディングは、より大きな画面を使用しているため多少異なります。

different layouts for different size screensを指定して、それが効果的かどうかを確認してください。

覚えておくべき重要なことは、デバイスのUIのデフォルトがデフォルトより重要であることです。これはiOSではありません。すべての種類の狂った画面サイズになるあなたのアプリを野生のものに送り出しているので、アプリをそのようにプログラムする必要があります。

もう1つの選択肢は、display-independent pixelsを使用してサイズを指定することですが、ほとんどの場合、パーセンテージと比率で表現する方がよいでしょう。

希望すると便利です。

+0

私は正当な理由があります。標準設定のうち、アンドロイドが提供するものとは異なるレイアウトを持つカスタム設定を作成する必要があります。私のカスタムレイアウトは標準的な嗜好スタイルを継承することができます。メーカーはUIをカスタマイズして標準スタイルをオーバーライドするため、各デバイスのカスタム設定レイアウトをテストして、各メーカーの異なるスタイルサイズを見つけることはできません。ピクセルやパーセンテージを使用して問題を保存しない場合は問題ありませんが、標準の環境設定はカスタムとは異なるインデントになります。 – Maxim

1

これは重複しているように見えますが、この質問に対する回答が役に立ちます。

Custom preference, targetSdkVersion="11": missing indent?

+1

チェックを外して申し訳ありませんが、それは私の問題を最後に解決しませんでした。 CommonsWareは、カスタムプリファレンスが標準プリファレンスを拡張する場合の例について説明しました。彼のケースではDialogPreferenceです。私の場合は、カスタムプリファレンスに別のレイアウトを追加したいので、プリファレンスはベース「プリファレンス」クラスを拡張します。彼の解決策を試してみると、自分の好みを得られなかった。 – Maxim

関連する問題