2016-10-27 6 views
1

일부 입력 필드를 구현하기 위해 TextInputLayouts 내부에있는 EditTexts를 사용하고 있습니다. 내 문제는 EditTexts의 맨 아래에 몇 가지 여분의 공간이있는 것 같아서 서로 아래에 여러 입력 필드를 배치 할 때 분명합니다.Android : EditText의 하단에 여분의 공간을 없애기

다음은 입력 필드 사이의 간격 (빨간색으로 채워짐) 사이의 틈을 보면서 내가 본 것의 그림입니다.

enter image description here

나는이 여분의 공간을 제거하고 싶습니다. 여백과 여백을 0으로 설정하면 도움이되지 않으며 음수 여백을 적용 해 볼 수도 있지만 실제로 UI 테스트에 문제가 발생 했으므로이 솔루션을 피하고 싶습니다. 누구든지 그 여분의 공간을 없애는 더 좋은 방법이 있습니까?

일부 코드 다음 글고과 TextInputLayout에 대한

stylings가 (기본 여백 치수 값이 모두 0dp를 참고) : 만 만든 글고 치기 (대한

<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> 
+0

가 완전히 removig'padding'와'marginBottom'를 시도, 당신의 두번째 텍스트를 편집이

android:layout_marginTop="-10dp" 

을 시도하여적이고 전통적인 요소에 따라 값을 사용 ? 또한, 많은 0dp'패딩 '에서 요점은 무엇입니까? – NightSkyLove

+0

testlogin_dropdown_divider_padding 및 input_field_floating_label_padding의 값을 테스트 케이스로 변경하려고 시도 할 수 있는지 잘 모르겠습니까? – Raghavendra

+0

@Prad, 나는 패딩과 여백을 제거하고, 값을 변경하는 등 모든 작업을 시도했다. 그러나 내가하는 일은 무엇이든, 항상 바닥에 여분의 공간이있다. 패딩과 여백을 0으로 설정하려고해도 여전히 나타납니다. 나는 그 공간이 어디서 왔는지, 그리고 내가 그것을 없애기 위해 무엇을 할 수 있는지 정확히 아는 사람이 있는지 궁금하다. 앞에서 말했듯이 부정적인 여백은 나에게 좋은 해결책이 아니므로 대안을 찾고 있습니다. – hildegard

답변