Android TextView因边距而更改大小

Android TextView因边距而更改大小,android,xml,view,Android,Xml,View,当我使用Android:margin将textView的一半定位在其父对象之外时,它的行为很奇怪:改变了自身的大小,文本在textView框内移动。我如何预防它? 在图像上:left textView在末尾剪切了文本,我不希望这样 我认为您需要更改行: android:singleLine="true" 设置为false。我认为您需要更改行: android:singleLine="true" 设置为false。框架布局始终与其子级重叠。为了有效地放置我建议使用的小部件 LinearLay

当我使用Android:margin将textView的一半定位在其父对象之外时,它的行为很奇怪:改变了自身的大小,文本在textView框内移动。我如何预防它? 在图像上:left textView在末尾剪切了文本,我不希望这样


我认为您需要更改行:

android:singleLine="true"

设置为false。

我认为您需要更改行:

android:singleLine="true"

设置为false。

框架布局始终与其子级重叠。为了有效地放置我建议使用的小部件

LinearLayout
带有
layout\u-weight


使用
RelativeLayout
FrameLayout
始终重叠其子项,相对于另一个小部件排列小部件。为了有效地放置我建议使用的小部件

LinearLayout
带有
layout\u-weight


使用
RelativeLayout

将小部件相对于另一个小部件进行排列您在这里遇到了两个问题:

  • 您正在使用
    框架布局
    。这意味着,当您不断增加子视图的边距时,视图将移出父视图。为什么?因为
    FrameLayout
    就是这样设计的。请阅读此处的文档:
  • FrameLayout设计用于在屏幕上显示单个项目的区域。通常,FrameLayout应用于保存单个子视图,因为在子视图不重叠的情况下,很难以可扩展到不同屏幕大小的方式组织子视图

    因此,您可以使用
    RelativeLayout
    LinearLayout

  • 第二个问题是android:singleLine=“true”
  • 。这意味着随着文本长度的增加,它仍将显示在一行中,因此文本将被剪裁。因此,将其设置为
    false
    ,或者删除此属性

    android:singleLine=“false”


    这里有两个问题:

  • 您正在使用
    框架布局
    。这意味着,当您不断增加子视图的边距时,视图将移出父视图。为什么?因为
    FrameLayout
    就是这样设计的。请阅读此处的文档:
  • FrameLayout设计用于在屏幕上显示单个项目的区域。通常,FrameLayout应用于保存单个子视图,因为在子视图不重叠的情况下,很难以可扩展到不同屏幕大小的方式组织子视图

    因此,您可以使用
    RelativeLayout
    LinearLayout

  • 第二个问题是android:singleLine=“true”。这意味着随着文本长度的增加,它仍将显示在一行中,因此文本将被剪裁。因此,将其设置为
    false
    ,或者删除此属性

    android:singleLine=“false”


  • 你为什么要把你的
    TextView
    一半放在你父母之外?您的要求是什么?我正在尝试实现semi-pageViewer(目前用于TextViews),其中一半显示相邻页面。为什么您要将您的
    TextView
    一半放在您的家长之外?您的要求是什么?我正在尝试实现半页面查看器(目前用于文本视图),其中一半显示相邻页面。谢谢!RelativeLayout应该可以工作(:不应该
    android:layout\u width=“wrap\u content”
    足够让textView拉伸吗?我真的需要将文本显示为单行。
    wrap\u content
    可以拉伸,但可以拉伸多长时间?假设您的字体大小为20sp,这意味着在保持此字体大小的单行上可以显示的字符数有物理限制。因此,随着文本大小的增加,
    TextView
    也会增大大小,直到它到达屏幕边缘。然后您需要继续使用另一行,或者使用省略号或让文本被剪裁。谢谢!RelativeLayout应该可以工作(:不应该
    android:layout\u width=“wrap\u content”
    足够让textView拉伸吗?我真的需要将文本显示为单行。
    wrap\u content
    可以拉伸,但可以拉伸多长时间?假设您的字体大小为20sp,这意味着在保持此字体大小的单行上可以显示的字符数有物理限制。因此,随着文本大小的增加,
    TextView
    的大小也会增加,直到它到达屏幕边缘。然后您需要继续使用另一行,或者使用省略号或让文本被剪裁。