【问题标题】:Arrow symbol is positioned too low [duplicate]箭头符号位置太低[重复]
【发布时间】:2017-06-22 09:19:19
【问题描述】:

有谁知道为什么箭头不在 TextView 中间?

比较它在 Android: 中的外观与它在浏览器中的外观

添加它的代码如下所示:

for (Ticket ticket : tickets) {
            TextView tvDestination = new TextView(ctx);
            tvDestination.setTextAppearance(ctx, R.style.purchase_row_title);
            tvDestination.setText(ticket.getDepartureStationName() + getDirection(ticket.getTicketType()) + ticket.getArrivalStationName() + " / " + ticket.getDepartureDate());
            tvDestination.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon_ticket, 0, 0, 0);
            tvDestination.setCompoundDrawablePadding(24);
            tvDestination.setEllipsize(TextUtils.TruncateAt.END);
            tvDestination.setMaxLines(1);
            h.rlDestinations.addView(tvDestination, 0);
        }

风格是:

<style name="purchase_row_title">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:drawablePadding">10dp</item>
    <item name="android:drawableStart">@drawable/icon_ticket</item>
    <item name="android:maxLines">1</item>
    <item name="android:singleLine">true</item>
    <item name="android:ellipsize">end</item>
    <item name="android:paddingEnd">10dp</item>
    <item name="android:textColor">#242528</item>
    <item name="android:textSize">17sp</item>
    <item name="android:textStyle">bold</item>
</style>

【问题讨论】:

  • 请显示布局
  • 它在中间。但是大文本上方和小文本下方的填充不同,这就是为什么它看起来不在中间。尝试放置相同的填充然后检查它。

标签: android textview


【解决方案1】:

其实那个箭头在中间。您应该this 发帖并了解TextView

AscentDescent

【讨论】:

  • 使用 android:includeFontPadding="false" 与文本删除多余的空间
  • 或 android:layout_marginTop="-5dp" 根据你的 UI 设置内边距
  • 不幸的是,它们都没有帮助。但是,为什么要投反对票?
猜你喜欢
  • 2019-05-28
  • 2013-06-05
  • 2017-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
相关资源
最近更新 更多