如何在Android上集中TextView?

时间:2015-08-18 23:53:03

标签: android android-layout

我有一个简单的布局,只有一个EditText和一个TextView

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <LinearLayout
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="vertical">

             <TextView
                android:id="@+id/lblName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="10dp"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="25sp"
                android:textStyle="bold" />

             <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="bold"
                android:textSize="15sp"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="10dp"
                android:id="@+id/txtName"/>
        </LinearLayout>

</LinearLayout>

我希望将TextView置于手机屏幕中央。

我看到我可以将LinearLayout替换为RelativeLayout作为全局布局,并将属性android:gravity="center"设置为居中,但我想要将TextView而不是EditText居中,它也以此功能为中心。

是否可以仅将TextView置于中心EditText

注意:当然,我不想手动使用边距将其居中。

编辑:我希望TextView将在屏幕上居中,EditText将位于nextLine(屏幕左侧)。像这样:

[                WIDHT OF THE SCREEN                ]
                 [TEXTVIEW-CENTER]
[EDITTEXT-LEFT]

提前致谢!

5 个答案:

答案 0 :(得分:1)

尝试将内部LinearLayout更改为类似的内容。

    <LinearLayout
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical">

` 它将获取所有屏幕空间,然后将显示EditText。

如果在内部Linear_layout中使用wrap_content,那么内部Linear_layour的宽度将根据其textView进行包装,即它将作为textview的父级,但作为其外部布局的子级。参考图片。

enter image description here

但是如果你将其属性设置为fill_parent,它将根据其父级填充宽度。 我希望你现在能理解它。

答案 1 :(得分:0)

<div class = "text">    
   <p>First line.</p>
   <p>Second, way longeeeeeeer line. </p>
   <p>Third line, just to see gradient span over multiple lines. </p>
</div>

答案 2 :(得分:0)

更改

  

机器人:取向=&#34;水平&#34;

  

机器人:取向=&#34;垂直&#34;

添加

  

机器人:layout_gravity =&#34;中心&#34;

in

  

的TextView

答案 3 :(得分:0)

使用此:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="@string/hello_world" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10" />

</LinearLayout>

答案 4 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
        <TextView
            android:id="@+id/lblName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="25sp"
            android:textStyle="bold"
            android:layout_gravity="center"
            android:text="Sample Text"/>

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="bold"
            android:textSize="15sp"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:id="@+id/txtName"/>
</LinearLayout>