Android:具有文本和自己形状的ImageView

时间:2015-03-26 12:25:18

标签: java android xml android-gridlayout

我想创建带有圆角,图像和文字的按钮,但我在文本和图标居中方面存在问题。

这是我到目前为止所尝试的:

<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <GridLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:columnCount="2"
        android:rowCount="2"
        android:layout_gravity="center"
        **android:layout_marginLeft="15dp"**>

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:id="@+id/btnResult"
            android:layout_gravity="center"
            android:src="@drawable/result"
            android:background="@layout/round_corners"
            android:layout_row="0"
            android:layout_column="0"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="@string/result"
            android:id="@+id/tvAnalysis"
            android:layout_gravity="center_horizontal"
            android:layout_row="0"
            android:layout_column="0"
            **android:layout_marginTop="180dp"**/>

</...

我需要指定GridLayout的android:layout_marginLeft让它以我的Nexus 5为中心。在所有其他设备上,这是不可行的。

知道我需要更改哪些内容才能使图像视图/文本组合居中?

2 个答案:

答案 0 :(得分:0)

为按钮创建圆角,

请在drawable文件夹中创建一个名为myshape.sml的xml,并在代码下面粘贴

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <corners android:radius="5dp" />
    <solid android:color="@color/header"/>

</shape>

如果要将图像添加到按钮和文本,那么

  <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             android:drawableLeft="@drawable/abc_ab_share_pack_mtrl_alpha"                               
            android:text="Test"
            android:textColor="@color/white"
             android:background="@drawable/button_bg"
            android:textSize="14sp />

请注意,android:drawableLeft是将图标添加到按钮的属性

答案 1 :(得分:0)

您可以使用DrawableLeft(或根据您的需要,右侧,顶部,底部)尝试TextView和按钮的安装。 Imageview?