如何在xml文件中的Text旁边显示一个图标?

时间:2013-08-12 10:21:09

标签: android xml

我尝试像这样编码

    <ImageView android:id="@+id/ivIcon"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:src="@android:drawable/ic_btn_speak_now" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item0" />

但它输出像这样。它不在同一行:(

enter image description here

我的整个xml代码就像这样。 (icon) item将是一个集合,用户将点击该集合以继续进行活动 所以我需要将它们组合在一起。

<LinearLayout style="@style/behindMenuScrollContent"
    android:paddingTop="25dp" >

    <TextView
        style="@style/behindMenuItemTitle"
        android:text="Subject" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item0" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item1" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item2" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item3" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item4" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item5" />

    <TextView
        style="@style/behindMenuItemTitle"
        android:text="Subject2" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item6" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item7" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item8" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item9" />

    <TextView
        style="@style/behindMenuItemLabel"
        android:text="Item10" />


    <Button
        android:id="@+id/behind_btn"
        style="@style/behindMenuItemLabel"
        android:text="BUTTON" />

</LinearLayout>

更新:我不需要图标和文字之间的边距,但只需要左边的边距!

enter image description here

style.xml

<style name="behindMenuItemLabel">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginLeft">20dp</item>
    <item name="android:layout_marginBottom">4dp</item>
    <item name="android:textSize">30sp</item>
    <item name="android:textColor">#d2d2d2</item>
</style>

5 个答案:

答案 0 :(得分:4)

你需要使用textview的drawable属性完全填充,下面我举一个例子:

<TextView
        android:id="@+id/bookTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:drawableBottom="@drawable/icon"
        android:text="Item 0"
        style="@style/behindMenuItemLabel"/>

希望有所帮助

答案 1 :(得分:4)

尝试这样的事情:

<TextView
    android:id="@+id/behindMenuItemLabel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="30dp"
    android:layout_weight="40"
    android:drawablePadding="-5dp"
    android:gravity="center_vertical"
    android:text="Speak Now"
    android:textColor="#000000"
    style="@style/behindMenuItemLabel" />

这是你的style.xml

<style name="behindMenuItemLabel">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginLeft">20dp</item>
    <item name="android:layout_marginBottom">4dp</item>
    <item name="android:textSize">30sp</item>
    <item name="android:drawableLeft">@drawable/your_icon</item>
    <item name="android:textColor">#d2d2d2</item>
</style>

答案 2 :(得分:3)

您可以在TextView

中的文字的所有四边设置图标

右:

android:drawableRight="@drawable/icon"

顶部:

android:drawableTop="@drawable/icon"

底部:

android:drawableBottom="@drawable/icon"

左:

android:drawableLeft="@drawable/icon"

答案 3 :(得分:2)

不要将单独的imageView用于图标。 在textview中设置drawable in right(或left,top,bottom)

 android:drawableRight="@android:drawable/ic_btn_speak_now"

答案 4 :(得分:1)

您可以使用此attr android:drawableLeft="your_drawable_id"设置文本左侧的图像,以便xml标记如下:

<TextView
    android:id="@+id/bookTitle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center_horizontal"
    android:drawableLeft="@drawable/icon"
    android:text="Item 0"
    style="@style/behindMenuItemLabel"/>

您还可以将图像设置为右侧,顶部或底部。祝福。