1

버튼의 배경색을 다르게 설정하려고했습니다. 그러나 높이는 일반 및 사용자 정의 버튼과 비교할 때 다릅니다.안드로이드의 일반 버튼 및 사용자 정의 배경 버튼의 높이 불일치

enter image description here

레이아웃 파일 : 생성하는 것이 가능하다 AppCompat 라이브러리의 새로운 버전 v23.0.0로

<Button 
     android:id="@+id/btn_normal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginEnd="8dp" 
     android:text="Normal" /> 

    <Button 
     android:id="@+id/btn_custon" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/custom_background" 
     android:layout_toEndOf="@id/btn_normal" 
     android:text="Custom" 
     android:textColor="#FFFFFF" /> 

custom_bbackground.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" > 
     <shape > 
      <corners android:radius="6dp" /> 
      <solid android:color="#026267"/> 
     </shape> 
    </item> 
    <item android:state_focused="true"> 
     <shape> 
      <corners android:radius="6dp" /> 
      <solid android:color="#026267"/> 
     </shape> 
    </item> 
    <item > 
     <shape > 
      <corners android:radius="6dp" /> 
      <solid android:color="#026267" /> 
     </shape> 
    </item> 
</selector> 

답변

3

재질 디자인 단추 Lollipop 및 Pre-Lollipop 기기 용

당신은 당신이 colorButtonNormal라는 특별한 테마 속성을 설정할 수있는 모든 버튼의 색상 정의하려면 :

자세한 내용은 styles.xml

<item name="colorButtonNormal">@color/yourColor</item> 

에서 부모 테마에이 줄을 추가하기 this 참조

편집 :

단추에 대한 사용자 지정 테마 만들기가 트릭을 수행합니다.

<style name="CustomTheme" parent="Widget.AppCompat.Button.Colored"> 
    <item name="colorButtonNormal">@color/yourcolor</item> 
</style> 

등으로 사용하십시오.

<Button android:theme="@style/CustomTheme"/> 

참고 : 당신이 부모로서 Widget.AppCompat.Button.Colored을 사용하고 있는지 확인합니다. 코딩

해피 ..

+0

예 테마가 가득 찰 수 있습니다. 하지만 위의 시나리오에서는 하나의 사용자 정의 색상 버튼과 하나의 기본 버튼을 사용해야합니다. 당신은 이것을 제안 할 수 있습니까? –

+0

[link] (http://manuel-ohlendorf.de/blog/2015/09/03/material-design-buttons-with-appcompat/) 유용한 정보. 감사합니다 @vrund purohit –

+0

언제든지 .. 내 업데이트 된 답변을 참조하십시오. 그것은 당신을 도울 것입니다 .. –

0

시도 안드로이드 할당 : layout_height = "match_parent"두 개의 버튼과 두 버튼을 넣어 가지고있는 메인 레이아웃 설정이 안드로이드와 같은 랩 콘텐츠와 높이의 : layout_height = "wrap_content"

-1

기본 단추 배경 drawable에는 여백이 있습니다. 이 여백은 이미지 측면의 투명한 픽셀입니다. 버튼의 배경색을 설정하면 버튼의 전체 사각형이 색상으로 채워지기 때문에 이러한 여백이 사라집니다. please see this link

+0

그렇다면 해결책은 어디입니까? –

+0

대체 솔루션은 사용자 정의 버튼으로 일반 버튼을 변경하고 일반 버튼 배경 color.simple을 사용합니다 – dipankar

+0

왜 정상적인 버튼을 변경해야합니까. 나는 보통 버튼처럼 커스텀 버튼이 필요하다. –