[java] 안드로이드에서 버튼 주위의 패딩을 제거하는 방법은 무엇입니까?

내 안드로이드 앱에는 다음과 같은 레이아웃이 있습니다.

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical">

    <fragment
         android:id="@+id/map"
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:layout_weight="1"
         class="com.google.android.gms.maps.SupportMapFragment"/>

    <Button
        android:id="@+id/button_back"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="CloseActivity"
        android:padding="0dp"
        android:text="@+string/back" />

</LinearLayout>

미리보기와 전화에서는 다음과 같습니다.

하단 영역의 버튼에서 볼 수 있듯이 패딩이 있습니다.

어떻게 제거하고 버튼이 바닥 영역을 완전히 채울 수 있습니까?



답변

나를 위해 문제는 일부 Android 테마에서 minHeight 및 minWidth로 밝혀졌습니다.

Button 요소에서 다음을 추가하십시오.

<Button android:minHeight="0dp" android:minWidth="0dp" ...

또는 버튼 스타일로 :

<item name="android:minHeight">0dp</item>
<item name="android:minWidth">0dp</item>


답변

내 솔루션은 insetTop 및 insetBottom 속성을 0으로 설정했습니다.

<android.support.design.button.MaterialButton
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:insetTop="0dp"
        android:insetBottom="0dp"
        android:text="@string/view_video"
        android:textColor="@color/white"/>


답변

패딩이 아니며 배경 드로어 블에서 버튼 주위의 그림자입니다. 자신의 배경을 만들면 사라집니다.


답변

해결 방법은 -ve다음과 같이 여백에 값 을 사용하려고 할 수 있습니다 .

<Button
    android:id="@+id/button_back"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:onClick="CloseActivity"
    android:padding="0dp"
    android:layout_marginLeft="-5dip"
    android:layout_marginRight="-5dip"
    android:layout_marginTop="-5dip"
    android:layout_marginBottom="-5dip"
    android:text="@string/back" />

그 공간이 사라질 것입니다. 나는 당신이 적절한 dip가치를 선택할 수 있다는 것을 의미합니다 . 그것은 나를 위해 일했다. 그것이 당신을 위해 작동하기를 바랍니다.


답변

토글 버튼 주위의 패딩을 제거하려면 minWidth 및 minHeight 0dp를 설정해야합니다.android:minWidth="0dp" android:minHeight="0dp"

  <ToggleButton
        android:id="@+id/toggle_row_notifications"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minWidth="0dp"
        android:minHeight="0dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:padding="@dimen/_5sdp"
        android:textOn=""
        android:textOff=""
        android:background="@android:color/transparent"
        android:button="@drawable/toggle_selector"
        />

드로어 블 파일을 다음과 같은 버튼 속성으로 설정하십시오. android:button="@drawable/toggle_selector"

아래는 내 toggle_selecter.xml파일입니다

<?xml version="1.0" encoding="utf-8"?>
     <selector xmlns:android="http://schemas.android.com/apk/res/android">
            <item android:drawable="@drawable/notifications_toggle_on"
                  android:state_checked="true"/>
            <item android:drawable="@drawable/notifications_toggle_off"
                  android:state_checked="false"/>
     </selector>


답변

나는 안드로이드에 익숙하지 않지만 비슷한 상황이 있었다. @Delyan이 제안한 작업을 수행하고 XML 레이아웃 파일에서 android : background = “@ null”을 사용했습니다.


답변

버튼의 XML 세트에서 android:includeFontPadding="false"