Android 图像+;文本居中对齐按钮
我有一个按钮,其宽度为Android 图像+;文本居中对齐按钮,android,android-button,Android,Android Button,我有一个按钮,其宽度为match\u parent。我想要一个中间有文字的图像/图标。我已经尝试了android:drawableStart属性,但是没有任何帮助。我不知道我错过了什么。有没有人也面临同样的问题 注意:这并不能解决我的问题。我正在附加xml的按钮部分 <Button android:background="@drawable/blue_button" android:id="@+id/btn_view" android:layout_width="m
match\u parent
。我想要一个中间有文字的图像/图标。我已经尝试了android:drawableStart
属性,但是没有任何帮助。我不知道我错过了什么。有没有人也面临同样的问题
注意:这并不能解决我的问题。我正在附加xml的按钮部分
<Button
android:background="@drawable/blue_button"
android:id="@+id/btn_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:drawableStart="@drawable/ic_list"
android:text="@string/btn_schedule"
android:textColor="@android:color/white" />
添加这些属性后,我的文本位于中间,但图像/图标仍位于按钮的左侧。任何人都可以帮忙 您可能想查看我对这个问题的回答:
这是一个丑陋的解决方案,但如果您希望图像和文本作为一个组在按钮中居中,而不是文本中心,并从侧面填充,那么这是我找到的唯一方法。我尝试了
android:drawableTop
按钮中央显示的图像我也有同样的问题,我没有找到任何明确的解决方案。但我得到了一些信息,这些信息也帮助我提供了以下解决方案(我选择了第二个):
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableTop="@drawable/YOUR_IMAGE"
android:gravity="center_horizontal|center_vertical" />
<FrameLayout
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:layout_height="50dp"
android:layout_width="match_parent" />
<TextView
android:text="sample"
android:layout_height="50dp"
android:layout_width="wrap_content"
android:drawableLeft="@drawable/YOUR_IMAGE"
android:gravity="center_horizontal|center_vertical" />
</FrameLayout>
<FrameLayout
style="?android:attr/buttonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
style="?android:attr/buttonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@null"
android:clickable="false"
android:drawableLeft="@android:drawable/ic_delete"
android:focusable="false"
android:gravity="center"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="Button Challenge" />
从这对我很有用。基本上使用按钮的paddingLeft和PaddingRight可以使文本和图像靠近中心 注意:可能是文本较长的问题
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="search button"
android:drawableStart="@drawable/ic_action_search"
android:paddingLeft="60dp"
android:paddingRight="60dp"/>
</LinearLayout>
为什么不试试android:layout\u gravity=“center”,使用它可以修复默认行为,而我会将其作为最后一个可用选项。我想坚持使用android默认行为,除非我没有其他选择来创建我自己的小部件。android:drawableTop
用于顶部而不是文本开头