2017-04-15 122 views
1

我試圖製作這樣的按鈕 Button Image但我不能將圖標放在文本前面。我現在製作的按鈕看起來像這樣button image now。所以,最主要的問題是我怎麼才能讓圖標靠近文字?帶圖標的Android圓形按鈕

這是我的按鈕形狀代碼:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
    <corners 
     android:radius="50dp" 
     /> 
    <solid 
     android:color="#00A651" 
     /> 
    <padding 
     android:left="0dp" 
     android:top="0dp" 
     android:right="0dp" 
     android:bottom="0dp" 
     /> 
    <size 
     android:width="300dp" 
     android:height="20dp" 
     /> 
</shape> 

這是我用來實現按鈕進入活動代碼:

<Button 
     android:id="@+id/problem" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:background="@drawable/buttonshape" 
     android:drawableStart="@drawable/ic_rate_review_black_24dp" 
     android:textColor="#FFFFFF" 
     android:textSize="15sp" 
     android:text="@string/button_problem" /> 

回答

4

一切工作作爲Muhib皮拉尼建議。感謝他。

按鈕的代碼現在看起來像這樣:

<Button 
    android:id="@+id/problem" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:background="@drawable/buttonshape" 
    android:drawableStart="@drawable/ic_rate_review_black_24dp" 
    android:drawablePadding="5dp" 
    android:paddingLeft="40dp" 
    android:paddingRight="40dp" 
    android:text="@string/button_problem" 
    android:textColor="#FFFFFF" 
    android:textSize="15sp" /> 

的ButtonShape.xml看起來是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
    <corners 
     android:radius="50dp" 
     /> 
    <solid 
     android:color="#00A651" 
     /> 

+4

如果他的解決方案是正確的,你應該把它標記爲 –

4

刪除尺寸,並從buttonXml填充降低半徑

並將paddingTop和paddinBottom添加到您的 中,或者也可以使用TextView作爲按鈕,併爲其指定一些填充。

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
<corners 
    android:radius="10dp" 
    /> 
<solid 
    android:color="#00A651" 
    /> 


</shape> 
+0

按鈕和TextView中都是可行的,我想你將不得不放棄drawablePadding在你設置的按鈕startDrawable –