自定义TextView带图标

时间:2015-06-21 17:52:55

标签: android layout textview icons drawable

我需要获取一些带有自定义图标的TextView,例如:

enter image description here

但我只能做到这一点:

enter image description here

我的3 TextView

        <LinearLayout android:id="@+id/info" android:layout_marginTop="80dp"
            android:layout_width="match_parent" android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:orientation="horizontal"
            android:layout_marginEnd="16dp"
            android:layout_marginRight="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginStart="16dp">

            <TextView android:id="@+id/info_totali" android:clickable="true"
                android:paddingLeft="10dp" android:paddingRight="10dp"
                android:paddingTop="8dp" android:paddingBottom="8dp"
                android:layout_width="0dp" android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/custom_textview_drawable"
                android:gravity="center"
                android:text="Tour totali\n 21"/>

            <TextView android:id="@+id/info_prenotabili" android:clickable="true" android:layout_toRightOf="@+id/tour1"
                android:paddingLeft="10dp" android:paddingRight="10dp"
                android:paddingTop="8dp" android:paddingBottom="8dp"
                android:layout_width="0dp" android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/custom_textview_drawable"
                android:gravity="center"
                android:text="Prenotabili\n 16"
                android:layout_marginLeft="16dp"
                android:layout_marginStart="16dp" />

            <TextView android:id="@+id/info_preferiti" android:clickable="true" android:layout_toRightOf="@+id/tour2"
                android:paddingLeft="10dp" android:paddingRight="10dp"
                android:paddingTop="8dp" android:paddingBottom="8dp"
                android:layout_width="0dp" android:layout_height="wrap_content"
                android:background="@drawable/custom_textview_drawable"
                android:gravity="center"
                android:layout_weight="1"
                android:text="Preferiti\n 3"
                android:layout_marginLeft="16dp"
                android:layout_marginStart="16dp"/>
        </LinearLayout>

custom_textview_drawable

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <layer-list>
            <item>
                <shape android:shape="rectangle">
                    <!--<solid android:background="?android:attr/selectableItemBackground"/>-->
                    <!--android:color="#ffffff" -->
                    <solid android:color="@color/account_grey_100" />
                    <stroke android:width="1dip"
                        android:color="@color/account_grey_400"/>
                    <corners android:radius="4dp"/> <!--android:bottomRightRadius="7dp"--><!--android:bottomLeftRadius="7dp"--><!--android:topLeftRadius="7dp"--><!--android:topRightRadius="7dp"/>-->
                </shape>
            </item>

            <item>
                <bitmap android:gravity="top" android:src="@mipmap/ic_events"/>
            </item>
        </layer-list>
    </item>

</selector>

1 个答案:

答案 0 :(得分:2)

使用android:drawableTop将图标放在文本上方,android:background只是用于绘制灰色矩形。 Here您可以找到文档