Androidアプリには、次のレイアウトがあります。
<?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>
それはパディングではなく、背景のドロアブルのボタンの周りの影です。独自の背景を作成すると、消えます。
回避策は、次のようなマージンに-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>
私はAndroidが初めてですが、同様の状況がありました。 @Delyanが提案したことを実行し、xmlレイアウトファイルでAndroid:background = "@ null"も使用しました。
私は同じ問題を抱えていましたが、それはボタンの背景色が原因であるようです。背景色を別の色に変更してみてください。例:
Android:background="@color/colorActive"
動作するかどうかを確認します。ボタンを使用する場合は、スタイルを定義できます。
ボタンのXMLセットでAndroid:includeFontPadding="false"
それはパディングではなく、または背景のドロアブルの影、またはminHeight
とminWidth
の問題です。
それでも素敵な波紋の効果が必要な場合は、?attr/selectableItemBackground
を使用して独自のボタンスタイルを作成できます。
<style name="Widget.AppTheme.MyCustomButton" parent="Widget.AppCompat.Button.Borderless">
<item name="Android:minHeight">0dp</item>
<item name="Android:minWidth">0dp</item>
<item name="Android:layout_height">48dp</item>
<item name="Android:background">?attr/selectableItemBackground</item>
</style>
そして、ボタンに適用します:
<Button
style="@style/Widget.AppTheme.MyCustomButton"
... />
ボタンでminHeight
およびminWidth
属性を使用し、padding
の使用を確認する必要があります
Android:minHeight="0dp"
Android:minWidth="0dp"
パディング、マージン、または最小高さ/幅ではないようです。 Android:background="@null"
を設定すると、ボタンのタッチアニメーションは失われますが、背景をすべてに設定すると、その境界が修正されます。
私は現在、以下で働いています:
minSdkVersion 19
targetSdkVersion 23
ボタンにカスタム背景を付けます:@ drawable/material_btn_blue
layout_width(height)
パラメーターを使用して行うこともできます。
例えば。 Android:layout_height="18dp"
コードで上部と下部のスペースを削除しました。