XML代码:
<Button
android:id="@+id/shareProduct"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/selector_dark_blue_border_light_blue_solid"
android:drawableLeft="@drawable/ic_fb"
android:drawablePadding="10dp"
android:gravity="center"
android:paddingBottom="6dp"
android:paddingTop="6dp"
android:text="Facebook"
android:textColor="@color/white"
android:textSize="16sp" />
我得到了什么:
我想要的是什么:
我想通过给予gravity="center"
,即使是可绘制的也在中心。
答案 0 :(得分:1)
将可绘制填充减少到更小android:drawablePadding="1dp"
或使用android:padding="1dp"
答案 1 :(得分:0)
尝试使用此替代解决方案,尝试使用填充,除非您可以:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/my_btn_icon"
android:gravity="left|center_vertical" />
答案 2 :(得分:0)
尝试这样
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_launcher"
android:paddingLeft="80dp"
android:gravity="left|center_vertical"
android:text="Facebook"/>
输出:
对于多屏支持,您可以使用尺寸(调整paddingLeft
),以便所有密度设备的外观都相同。
希望这对你有所帮助。