1

私は、単一サイズの画面で実行することを目的としたアプリに取り組んでおり、非常に複雑な設計になっているため、物事を簡単にするために、すべての絶対サイズで作業しています。

ビューに非常に小さなサイズを指定すると問題が発生します.Androidはコンテンツをこれらの小さなサイズに適応させていないようです. ここに3つの例があります:

  • 90x70px EditText:編集テキスト小さいテキスト サイズを使用したにもかかわらず、テキストが中央に配置されていません。中央に配置するにはどうすればよいですか?
  • 200x80px Spinner:スピナー右側に十分なスペースがあります。どのように使用できますか?
  • 50x50px CheckBox:チェックボックスボックス全体ではなく 1 つのコーナーだけが表示されます...なぜですか?
4

4 に答える 4

0

TextView 派生クラスで次のオーバーライドを使用してみてください...私にとってはうまくいきました:

    @Override
    public int getCompoundPaddingTop() {
        return 1;
    }

    @Override
    public int getCompoundPaddingBottom() {
        return 1;
    }

    @Override
    public int getCompoundPaddingLeft() {
        return 1;
    }

    @Override
    public int getCompoundPaddingRight() {
        return 1;
    }
于 2013-11-20T05:32:16.417 に答える
0
  • Android は、固有の値をデフォルトとして使用するため、これらの小さなビューをサポートしていません。また、いくつかの大きなビューを作成することをお勧めします。ユーザーにとっても良いことでしょう。
  • いくつかのビューを設計するとき、ユーザーの視点は非常に重要な要素です。常にユーザーを念頭に置いて UI を設計する必要があります。

これとは別に、これらのものをまだ使用したい場合は、次に従ってください。

  • テキストを中央に配置するには、EditText でandroid:gravitytoを使用します。center
  • チェックボックスとスピナーには小さいドローアブルを使用してください。
  • また、描画可能なフォルダー内の XML でカスタム形状を作成し、それらをビューの背景として使用することもできます。また、最適な結果が得られるように、パディング 1 または負の値を設定します。
于 2013-11-21T07:38:03.253 に答える
0

Android はコンテンツをこれらの小さなサイズに適応させていないようです

特定の最小サイズが達成された後、Android は採用しませScrollViewん。レイアウトの使用を検討して変更することを強くお勧めしますが、それでも主張する場合は、これを試してください。

  • の背景EditTextを null に設定すると、すべて 9 パッチの背景のパディングが原因であることがわかります。その後、Android Asset Studioに移動して小さい背景を作成するか、xml ドローアブルでも作成できます。このリンクを確認してください。テキストを中央に配置するには、 on を使用android:gravity="center"EditTextます。

  • 上記と同じ 9 パッチの背景問題、スピナーの背景画像は、特定のパディングを追加した後、矢印の左側にコンテンツを配置するように作成されています。カスタムのパディングの少ない 9 パッチに背景を設定してみてください。

  • 同じ問題CheckBoxです。このリンクを参照してください。

于 2013-11-16T04:09:42.183 に答える
0

パディングを使用しようとしましたか?コントロールを画面外に移動するために負の値を使用しました。パディングについても同じことが言えますか?幸運の仲間

于 2013-11-19T12:27:40.840 に答える