2012-07-10 2 views
0

LinearLayout에 래핑 된 EditText 컨트롤 옆에 Button이 있습니다. 단추가 EditText보다 훨씬 높다는 것과 그 높이가 같기를 바랍니다. @ drawable/main_edittext와 @ drawable/main_edittext_button의 높이는 같지만 배경이 설정되지 않은 경우에도 높이는 다릅니다. 응용 프로그램 매니페스트 파일에서 응용 프로그램 테마는 windowNoTitle = true로만 설정됩니다.EditText 및 Button 높이 문제

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:background="@drawable/main_background" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <EditText 
     android:id="@+id/edit_message" 
     style="@style/MainEditText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:hint="@string/edit_message" 
     android:singleLine="true" /> 

    <Button 
     android:id="@+id/edit_message_button" 
     style="@style/MainSearchButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:onClick="sendMessage" 
     android:text="@string/button_send" /> 

</LinearLayout> 

<style name="MainEditText"> 
    <item name="android:background">@drawable/main_edittext</item> 
    <item name="android:textSize">16sp</item> 
    <item name="android:textStyle">normal</item> 
    <item name="android:textColor">#262626</item> 
</style> 

<style name="MainSearchButton"> 
    <item name="android:background">@drawable/main_edittext_button</item> 
    <item name="android:textSize">16sp</item> 
    <item name="android:textStyle">normal</item> 
    <item name="android:textColor">#ff5500</item> 
</style> 

+ main_edittext.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/edit_text"> 
    </item> 
    <item 
     android:state_enabled="true" 
     android:state_focused="true" 
     android:drawable="@drawable/edit_text"> 
    </item> 
    <item android:state_enabled="true" 
     android:drawable="@drawable/edit_text"> 
    </item> 
</selector> 

-main_edittext.xml

+ main_edittext_button.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/edit_text_button"> 
    </item> 
    <item 
     android:state_focused="true" 
     android:drawable="@drawable/edit_text_button"> 
    </item> 
    <item android:drawable="@drawable/edit_text_button" /> 
</selector> 

-main_edittext_button.xml

+0

Android 플랫폼 버전에 따라 고유 한 패딩이 있습니다. 확인을 위해 출처를 확인하십시오. https://github.com/android/platform_frameworks_base/tree/master/core/res/res/values ​​ – Blundell

답변

4

패딩을 제거하려고 에이 차 마진 : android:minHeight="0dp"

+1

힌트를 보내 주셔서 감사하지만 문제가 완전히 해결되지는 않습니다. Button 컨트롤에는 minHeight가 약간의> 0 값으로 설정되어있는 것으로 보입니다. 그래서 minHeight를 0dp로 설정해야했습니다. 나는 내 질문에 대답 할 수 없어, 너는 너를 편집 할 수있을거야. 그러면 받아 들일거야. – user146386

0

버튼 "edit_text_button"의 그리기는 아홉 패치 드로어 블 경우, 제거하거나 만들려고 : android:layout_margin="0dp"android:padding="0dp"

또한, 당신의 의견에 따라, minHeight뿐만 아니라 0으로 수정 작은 패딩. 그리고 경우에 따라 밀도가 다른 여러 리소스 (ldpi, mdpi 및 hdpi)를 배치하십시오.

+0

감사합니다. 9 패치지만 문제는 다른 곳에서 발생했습니다. slybloty의 대답에 대한 내 의견을 확인하십시오. – user146386