いくつかの入力フィールドを実装するためにTextInputLayouts内に配置されたEditTextを使用しています。私の問題は、EditTextsの一番下に余分なスペースがあるように見えることです。これは、複数の入力フィールドをお互いに配置すると明らかです。Android:EditTextの下部に余分なスペースを取り除く
ここには、表示される入力フィールドの間のギャップ(赤で囲まれた部分)が表示されます。
私は、この余分なスペースを取り除きたいです。パディングとマージンを0に設定しても効果はありませんでしたが、負のマージンを適用してみることはできますが、UIテストで問題が発生したため、このソリューションは避けてください。余分なスペースを排除する方法は誰にも分かりますか?
いくつかのコード:のEditTextとTextInputLayoutため
のスタイリング(デフォルトのマージンのディメンション値がすべて0dpあることに注意してください):のEditTextのため
<style name="EditTextLayout">
<item name="android:layout_height">@dimen/input_field_height</item>
<item name="android:minHeight">@dimen/input_field_height</item>
<item name="android:background">@drawable/input_field_background</item>
<item name="android:paddingBottom">@dimen/default_margin_bottom</item>
<item name="android:paddingStart">@dimen/default_margin_left</item>
<item name="android:paddingEnd">@dimen/default_margin_right</item>
<item name="android:paddingTop">@dimen/default_padding_top</item>
<item name="android:layout_marginBottom">@dimen/default_margin_bottom</item>
<item name="android:textColorHint">@color/input_field_floating_label</item>
</style>
<style name="EditTextTheme">
<item name="android:imeOptions">actionDone</item>
<item name="android:maxLines">1</item>
<item name="colorControlNormal">@color/primary_line_color</item>
<item name="colorControlActivated">@color/nordea_blue</item>
<item name="colorControlHighlight">@color/error_color</item>
<item name="android:textColorPrimary">@color/input_field_text</item>
<item name="android:textSize">@dimen/textsize_caption</item>
<item name="android:textColorHint">@color/input_field_floating_label</item>
</style>
<style name="EditText">
<item name="android:theme">@style/EditTextTheme</item>
<item name="android:textCursorDrawable">@drawable/cursor_blue</item>
<item name="android:paddingStart">@dimen/default_padding</item>
<item name="android:paddingEnd">@dimen/default_padding</item>
<item name="android:paddingTop">@dimen/input_field_floating_label_padding</item>
<item name="android:layout_marginBottom">@dimen/default_margin_bottom</item>
<item name="android:background">@drawable/input_field_divider</item>
</style>
背景(唯一のボトムラインを作るために作られました厚い):TextInputLayoutため
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item
android:left="@dimen/input_field_background_side_margin"
android:right="@dimen/input_field_background_side_margin"
android:top="@dimen/input_field_background_side_margin">
<shape>
<solid android:color="@android:color/transparent"/>
<stroke
android:width="@dimen/input_field_divider_height"
android:color="@color/input_field_divider_color"></stroke>
<padding
android:bottom="@dimen/testlogin_dropdown_divider_padding"
android:top="@dimen/input_field_floating_label_padding"/>
</shape>
</item>
</layer-list>
背景:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:bottom="@dimen/inputfield_background_light_margin_bottom">
<shape android:shape="rectangle">
<solid android:color="@color/input_field_layout_bg"/>
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp" />
</shape>
</item>
</layer-list>
使用法:
<android.support.design.widget.TextInputLayout
android:id="@+id/input_container"
style="@style/EditTextLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/input_field_height"
app:errorTextAppearance="@style/EditTextErrorText"
app:hintTextAppearance="@style/EditTextFloatingLabel"
tools:hint="Hint text"
tools:text="Label text">
<android.support.design.widget.TextInputEditText
android:id="@+id/input_editfield"
style="@style/EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="text|textCapSentences"/>
</android.support.design.widget.TextInputLayout>
ごとに値を使用し、2回目の自分のエディットテキストのために、この
を試してみてください、あなたは完全にremovig 'padding'と' marginBottom'を試してみました? また、たくさんの0dp 'paddings'の中のポイントは何ですか? – NightSkyLove
私はtestlogin_dropdown_divider_paddingとinput_field_floating_label_paddingの値をテストケースとして変更しようとしているのですか? – Raghavendra
@Prad、私はこれらすべてを試して、パディングと余白を取り除き、値を変更しました。しかし、私が何をしても、その底に余分なスペースが常にあります。パディングと余白を0に設定しようとしても、それが表示されます。私は誰もがその空間がどこから来ているのか、それを取り除くために何ができるのか分かっているのだろうかと思っています。前に述べたように、マイナスのマージンは私にとっては良い解決策ではないので、私は代替案を探しています。 – hildegard