Android EditTextの高さをデフォルトより小さくするにはどうすればよいですか?
高さを変更すると、テキストが表示されませんが、下部に余分な空白があります。
Android EditTextの高さをデフォルトより小さくするにはどうすればよいですか?
高さを変更すると、テキストが表示されませんが、下部に余分な空白があります。
EditTextにはデフォルトのパディングセットがあります。
これを試して、
<EditText
android:text="Any Text"
android:layout_width="fill_parent"
android:layout_height="16dp"
android:padding="2dp"
android:background="#FFF"
android:textSize="10dp"
/>
使用する
android:textAppearance="?android:attr/textAppearanceSmallInverse"
詳細については、次を参照してください:http: //developer.android.com/guide/topics/ui/themes.html
私はそこにある答えのどれにも本当に満足していませんでしたが、それらを組み合わせると、ほとんどすべての成分が適切な解決策に含まれています。しかし、最初に何が問題なのかを特定しましょう。問題は、bhatt4982がパディングを述べ、彼がその解決策を提供したことです。パディングを好きなように設定します。より小さなフォントも必要な場合は、learn_andrdの提案などを実行してください。
style="@android:style/TextAppearance.Small.Inverse"
これで、EditText要素の幅が正しくなり、フォントサイズが通常のTextViewのサイズと一致します。ただし、明るい灰色は白い背景ではあまり見栄えが良くないため、色は逆になります。そして、それは私たちの問題の最後、背景に私たちをもたらします。デフォルトのEditText背景には最小の高さがあるため、別の背景を設定する必要があります。その高さは、要素の現在の高さの高さです。AFAIK Androidは、背景画像の縮小をサポートしていません。デフォルトで許可されている高さよりも低い高さを許可するEditTextの独自の背景Drawableを定義する必要があります。それ以外の場合は、高さ、パディング、またはマーリングに何を設定しようとしても、効果はありません。
PSなぜ、小さなEditViewを作成するのが非常に難しくなったのか不思議に思うかもしれません...おそらく、それでも、指を使ってカーソルをに移動するのは非常に難しいという事実と関係があります。 EditText要素の特定の位置(たとえば、すべてを消去せずにタイプミスを修正するため)。テキストをさらに小さくすると不可能になります。したがって、おそらくそれは、あなたが達成しようとしていることであり、パディングを削減しようとしているだけでない限り、本当に追求する価値のあることであるかを再考する必要があります。
高さを明示的に設定するオプションはありますか?
はいの場合、次のようなものを使用します
<EditText
android:id="@+id/smallEditText"
android:layout_width="wrap_content"
android:layout_height="10dip"/>
android:textSize
XMLで使用することにより、フォントサイズを小さくすることができます。コントロールをスクロール可能にすることもできます。
編集:スクリーンショットを見たばかりですが、EditTextを配置したレイアウトは何ですか?コントロールに非明示的なレイアウトルールを設定している可能性があります。
XML編集テキストを変更するこれらの2つのプロパティ
android:layout_height="15dp"
android:textSize="12sp"