草庐IT

Android TextView 向下偏移

coder 2023-12-11 原文

我在 LinearLayout 中有一个包含两个按钮和一个 TextView 的 Activity 。我的 TextView 向下偏移,文本不适合框内。你能解释一下发生了什么吗?我认为它与填充有关,我已经阅读了一些关于 TextView 填充的危险的讨论,但这并不能解释为什么文本在底部被截断。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="#800080">

    <Button
        android:text="This"
        android:background="@drawable/button_red" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
    <Button
        android:text="That"
        android:background="@drawable/button_green" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
    <TextView 
        android:text="Copious amounts of text that overflows onto several lines on a small screen, causing the TextView to dangle below the buttons.  Why it does this I can't imagine.  I only hope someone can help me with this." 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#533f93"
    />
</LinearLayout>

此代码产生此显示:

紫色的是LinearLayout,蓝色的是TextView。如您所见,TextView 的顶部在按钮的下方,其底部在 LinearLayout 的底部下方。当我向 TextView 添加文本时,LinearLayout 适本地增加了它的高度,但是由于 TextView 是偏移的,所以我总是丢失最后一行的底部。

我运行了 Hierarchy Viewer,它给了我这个线框:

它在顶部显示垂直偏移,但错过了 TextView 的底部。选择了 LinearLayout 的相同线框如下所示:

根据 Hierarchy Viewer,按钮的顶部位于 0,但 TextView 的顶部位于 7。我尝试了各种修复,主要是从该站点中剔除:

    android:paddingTop="0dp"
    android:background="@null"
    android:includeFontPadding="false"

这些都没有解决我的问题。

最佳答案

LinearLayoutandroid:baselineAligned 属性设置为 false

来自文档:

When set to false, prevents the layout from aligning its children's baselines. This attribute is particularly useful when the children use different values for gravity. The default value is true.

关于Android TextView 向下偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611641/

有关Android TextView 向下偏移的更多相关文章

  1. ruby - 如何从二进制数据的偏移量开始读取? - 2

    我有一个类似C的结构:SomeStruct:lenVarsstring:namestring:lname#...end我在:Person之前有一堆偏移量和长度。所有偏移量和长度都描述了:Person结构中的数据。如何从指定的偏移量、给定的长度或直到下一个偏移量开始读取数据? 最佳答案 寻求偏移1234,然后将32个字节读入Strings:open'some-binary-file','r'do|f|f.seek1234s=f.read32#thoinyourcase,somethinglike:o=aBinData_object.r

  2. ruby - 为什么在 Ruby 中除法后负数会向下舍入? - 2

    我正在查看有关divmod的文档.下面显示了方法div、divmod、modulo和remainder之间差异的部分表格:为什么13.div(-4)四舍五入为-4而不是-3?Ruby中是否有向下舍入负数的规则或约定?如果是这样,为什么下面的代码没有向下舍入?-3.25.round()#3 最佳答案 13.div(-4)==-4和13.modulo(-4)==-3这样(-4*-4)+-3==13你得到了一致的关系(b*(a/b))+a.modulo(b)==aWhyis13.div(-4)roundedto-4andnotto-3?这

  3. 《计算机网络-自顶向下》04. 网络层-数据平面 - 2

    文章目录网络层数据平面和控制平面两者的概述数据平面控制平面控制平面:传统方法控制平面:SDN方法网络服务模型路由器工作原理通用路由器体系结构输入端口的功能基于目标的转发交换结构内存交换方式总线交换方式纵横式交换方式输出端口的功能何时何处出现缓存队列输入排队输出排队分组调度先进先出优先权排队循环和加权公平排队网络协议:PIv4、寻址、IPv6以及其它IPv4数据报格式IPv4数据报分片IPv4编址IP和子网掩码CIDR分类网络特殊地址分配地址获取一块地址(用于组织的子网内)获取主机地址:动态主机配置协议网络地址转换——NAT一些术语通用转发和SDN匹配动作参考资料网络层从表面上看网络层的作用:将

  4. ruby-on-rails - 如何在 rails 中的数组中指定限制和偏移量? - 2

    我有3个表PostText、PostImage和PostVideo。现在,我将上述所有三个表中的数据合并到一个名为userposts的数组中。现在从userposts我只想访问从偏移量15开始的10条记录。我该怎么做?我尝试了userposts.first(10)。它给了我前10条记录,但我想要从offset-15开始的10条记录。提前致谢。 最佳答案 userposts.drop(15).first(10)会帮助你 关于ruby-on-rails-如何在rails中的数组中指定限制和偏

  5. ruby - 在 Ruby 中获取 UTC 偏移量 - 2

    我正在尝试获取日期时间的UTC偏移量。日期时间保存为:Fri,31May201315:19:08EDT-04:00我想要得到的是"-04:00"。当我执行object.utc_offset时,我得到-14400。我应该使用什么功能? 最佳答案 您正在寻找strftime:Time.now.strftime("%:z")这将为您提供诸如“-04:00”之类的偏移量。 关于ruby-在Ruby中获取UTC偏移量,我们在StackOverflow上找到一个类似的问题:

  6. ruby-on-rails - 一种向下舍入 Floats 的方法 - 2

    Floatround向上或向下舍入。我总是需要它向下舍入。我有解决方案,但我不太喜欢它...也许有更好的方法。这就是我想要的:1.9999.round_down(2)#=>1.991.9901.round_down(2)#=>1我想出了这个解决方案,但我想知道是否有更好的解决方案(我不喜欢我将float转换两次)。已经有这个方法了吗?因为我发现我找不到它很奇怪。classFloatdefround_down(n=0)((self*10**n).to_i).to_f/10**nendend谢谢。 最佳答案 1.9999.to_i#=>

  7. ruby - 每当 gem 并从偏移量开始每 n 分钟安排一次作业 - 2

    出于惊人的目的,我尝试将作业安排为每5分钟运行一次的2分钟偏移。那就是我想要1个作业运行1,6,11,16..而另一个运行在2,7,12,17...我找不到执行此操作的示例。所以我尝试了:every5.minutes,:at=>1docommand"echo'youcanuserawcronsytaxtoo'"end这似乎可行,但所有“:at”示例看起来都期待字符串格式的时间。以上是否有效或恰好有效并且每个选项并不真正支持开始时间。 最佳答案 听起来这两个工作之间存在依赖关系,所以我认为有两种方法可以处理这个问题。如果你想在1、6、

  8. 带有索引/偏移量的 Ruby gsub? - 2

    Ruby的String#gsub方法提供了一种包含替换索引的方法?例如,给定以下字符串:Ilikeyou,you,you,andyou.我想以这个输出结束:Ilikeyou1,you2,you3,andyou4.我知道我可以使用\1、\2等来匹配括号中的字符,但是有没有像\i这样的东西或\n提供当前比赛的号码?值得一提的是,我的实际术语不像“你”那么简单,因此假设搜索术语是静态的替代方法是不够的。 最佳答案 我们可以将with_index链接到gsub()以获得:foo='Ilikeyou,you,you,andyou.'.gsub

  9. Ruby - 每个起始偏移量 - 2

    如何在ruby​​中为each循环设置起始偏移量?我希望循环从a[3]而不是a[0]开始。我该如何设置?a=[ab,cd,ef,gh,hi,jk]a.eachdo|i|#somestuffend 最佳答案 另一种可能更直接和可读的可能性是使用Array#drop:a.drop(3).eachdo|i|#dosomethingwithitemiend现在,如果与继承自Enumerable的其他方法结合使用,这将非常出色。,所以很可能有更好的替代方法来替代您的命令式each循环。假设您要过滤提取的切片并在之后对其进行转换:a=[0,1,

  10. ruby - 在 Ruby 中设置时区偏移 - 2

    Ruby中的默认时区偏移显然是-0800。我想将我的设置为-0500。我该怎么做? 最佳答案 设置TZ环境变量...$ruby-e'putsTime.now'SatJan1520:49:10-08002011$TZ=UTCruby-e'putsTime.now'SunJan1604:49:20+00002011Ruby从主机操作系统获取时区信息。最直接的是,它使用C99和Posix指定的C库API。该API的实现是系统特定的,在我的Mac上这意味着它会引用/etc/localtime除非有TZ环境变量。在Linux上大致相同。

随机推荐