如何将复合可绘制对象放在文本视图的左上角
Posted
技术标签:
【中文标题】如何将复合可绘制对象放在文本视图的左上角【英文标题】:How to place Compound drawable on top left of Text View 【发布时间】:2013-01-21 12:06:21 【问题描述】:我们可以使用drawableLeft
或setCompundDrawables
为textview 设置复合drawable,如下所示,但使用它只能将drawable 放置在左/右/上/下。但我只想将drawable 放在左上角和 Textview 的右上角。
我怎样才能做到这一点 ?
【问题讨论】:
已经问过here 【参考方案1】:<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_ >
<ImageView
android:id="@+id/imageView1"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ic_launcher" />
<TextView
android:layout_
android:layout_
android:layout_toRightOf="@+id/imageView1"
android:text="@string/text" />
这样就可以了。
【讨论】:
使用 relativelayout 而不是 textView 的权衡是什么?【参考方案2】:我认为,有一种比 3 个视图更简单、更快捷的方法。您需要为图标准备适当的 9patch,然后使用 FrameLayout。甚至可能只有 single EditText
/ TextView
使用相同的可绘制对象作为背景。更多细节在this answer中描述。
【讨论】:
以上是关于如何将复合可绘制对象放在文本视图的左上角的主要内容,如果未能解决你的问题,请参考以下文章
EditText 中可点击的复合可绘制对象,点击时会弹出一个视图