【问题标题】:Android align drawable left to the first line of my textViewAndroid将drawable左对齐到我的textView的第一行
【发布时间】:2014-06-06 23:19:21
【问题描述】:

我有一个 textView,我在其中放置了一些文本(显然)和一个 Drawable 左侧。不幸的是,当我使用像三星 Galaxy Y 这样的小屏幕手机时,文本不仅仅是一行,而是延伸到第二行。 (这很好)。但是,我现在设置的 drawable 将自身对齐到 textview 的中心,而不是在第一行的左侧。

我希望我的 drawable 与我的 textview 中的第一行文本保持对齐,无论有多少行文本,我的 textview 都保持不变。有没有办法做到这一点?谁能指出我正确的方向?

我的实现非常简单

...
tv.setCompoundDrawables(drawableLeft, null, null, null);

我的 drawableLeft 是我的可绘制文件夹中的图像。

非常感谢!

【问题讨论】:

  • 嗨 A.A,我更新了我的帖子,虽然实际上没有太多代码可以发布。我的实现是将您的普通 setCompoundDrawables 设置为 TextView。

标签: android textview drawable vertical-alignment


【解决方案1】:

尝试使用像单独视图(即 ImageView)这样的可绘制对象,而不是将其设置为 TextView 中的标记。使用它可以让你更好地控制它自己的drawable/ImageView。

【讨论】:

  • 嗨 Aksiom,我意识到,尽管我不想创建包含文本和图像的相对布局。我正在尝试找到一种方法来使 drawableLeft 工作。不过谢谢你的建议。也许如果我没有想到一个好的解决方案,我会回到这个。谢谢
【解决方案2】:

为了将DrawableTextView 的顶部对齐,您可以使用自定义Drawable 来包装您要显示的Drawable。然后,在您的自定义 Drawable 中重写方法 onDraw(Canvas) 并转换 Canvas 以操纵您的 Drawable 的位置。

有关示例,请参阅 my answer here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    相关资源
    最近更新 更多