2015-06-21 3 views
1

мне нужно, чтобы получить некоторые TextView с настраиваемой значок на них, такие, как эти из них:Пользовательские 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> 

ответ

2

использование android:drawableTop поставить значок над текстом и android:background просто нарисовать серый прямоугольник. Here вы можете найти документацию

+1

отличный ответ, он работал гладко !! –

Смежные вопросы