【问题标题】:Can I set property of Textview like justify? [closed]我可以像 justify 一样设置 Textview 的属性吗? [关闭]
【发布时间】:2011-08-24 00:20:06
【问题描述】:

我想设置 TextView 属性,如右对齐、左对齐、对齐

【问题讨论】:

标签: android


【解决方案1】:

是的。

这叫做重力。

关于 XML:

android:gravity="left" 或 "right"

对齐不可用。

检查:http://developer.android.com/reference/android/view/Gravity.html

【讨论】:

    【解决方案2】:

    使用TextView.setGravity。例如,将Gravity.RIGHT 用于右对齐文本,使用Gravity.CENTER_HORIZONTAL 将其居中。目前不支持两端对齐的文本。

    如果您需要更复杂的文本布局控制(仅用于显示),请使用WebView

    【讨论】:

      【解决方案3】:

      看下面的代码..

      <TextView style="@style/TitleBarText1" android:text="@string/app_name" />
      

      样式定义如下..这里大部分字段可能不是必需的,但很有帮助..请参阅 gravity 属性,您可以将 textview 与此属性对齐...

       <style name="TitleBarText1">
          <item name="android:id">@id/title_text</item>
          <item name="android:layout_width">0dp</item>
          <item name="android:layout_height">fill_parent</item>
          <item name="android:layout_weight">1</item>
          <item name="android:gravity">center</item>
          <item name="android:textSize">@dimen/text_size_medium</item>
          <item name="android:paddingLeft">12dip</item>
          <item name="android:paddingRight">12dip</item>
          <item name="android:textStyle">bold</item>
          <item name="android:textColor">@color/title_text</item>
          <item name="android:singleLine">true</item>
          <item name="android:ellipsize">end</item>
        </style> 
      

      【讨论】:

        【解决方案4】:

        使用 RelativeLayout 作为 textView 的父布局 并使用 TextView 的 xml 属性,例如:

        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        

        其他属性也可用于设置对齐和位置。

        这个link 也可以帮到你。

        【讨论】:

          【解决方案5】:

          示例:对于左对齐,将其添加到您的 TextView

          android:layout_gravity="center_vertical|left"
          

          【讨论】:

            【解决方案6】:

            我从您的问题中了解到,您想知道如何在 TextView 中设置文本的对齐方式。您可以将 TextView 中的文本向左、向右或居中对齐。

            要从您的布局 (XML) 文件中执行此操作,请在您的布局文件中使用以下属性;

            android:gravity=alignment
            

            在哪里,

            对齐可以

            • left 将文本左对齐
            • right 将文本右对齐
            • center 使文本居中

            要从代码中执行相同的操作,请使用以下代码;

            TextView textRegion = (TextView) findViewById(R.id.textRegion);
            textRegion.setGravity(gravity);
            

            在哪里,

            重力=

            Gravity.LEFT to align to left
            Gravity.RIGHT to align to right
            Gravity.CENTER to center the text
            

            请注意,在 TextView 中对齐文本尚不可用。

            从 Android 8 开始更新(奥利奥,API Level26):
            现在可以进行对齐,但在右端看起来很锯齿。
            setJustificationMode

            【讨论】:

            • 非常酷...谢谢!
            【解决方案7】:

            不,您不能设置像重力这样的属性。但是您仍然可以通过使用 webview 而不是 text view 来为您的文本设置理由。

            您可以参考this

            【讨论】:

            • 链接失效(2020)
            【解决方案8】:

            对齐文本

            <TextView
                    android:id="@+id/tv_intro"
                    style="@style/light_brown_bold_important"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/tv_welcome"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="40dp"
                    android:text="@string/intro"
                    android:gravity="center" />
            

            重要的部分是

            android:gravity="center"
            

            【讨论】:

              猜你喜欢
              • 2011-04-26
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-10-30
              • 2010-10-27
              相关资源
              最近更新 更多