Android 安卓文本视图文本赢得';t中心

Android 安卓文本视图文本赢得';t中心,android,layout,textview,Android,Layout,Textview,我试图做一个PIN输入活动,但有一点对我来说不太管用。我无法在屏幕截图顶部的文本视图中将文本居中: 它的工作方式是,当用户输入PIN码时,我会在每个文本视图中放置一个星号,以获得可见的反馈。问题是,我想让星星居中。我试过布局,但没什么区别。以下是我当前的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a

我试图做一个PIN输入活动,但有一点对我来说不太管用。我无法在屏幕截图顶部的文本视图中将文本居中:

它的工作方式是,当用户输入PIN码时,我会在每个文本视图中放置一个星号,以获得可见的反馈。问题是,我想让星星居中。我试过布局,但没什么区别。以下是我当前的布局:

 <?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:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView1" 
     android:text="PIN Required" 
     android:layout_width="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginBottom="12sp"
     ></TextView>
     <LinearLayout 
     android:layout_width="match_parent" 
     android:id="@+id/linearLayout1" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="12sp" 
     android:layout_gravity="center_horizontal"
     >
         <TextView 
       android:id="@+id/text1" 
       android:layout_height="32sp" 
       android:layout_width="48sp" 
       android:layout_weight="1" 
       android:layout_marginRight="2sp" 
       android:layout_marginLeft="48sp" 
       android:background="#FFFFFF" 
       android:text="X" 
       android:layout_gravity="center"
       ></TextView>
         <TextView 
       android:id="@+id/text2" 
       android:layout_height="32sp" 
       android:layout_width="48sp" 
       android:layout_weight="1" 
       android:layout_marginRight="2sp" 
       android:layout_marginLeft="2sp" 
       android:background="#FFFFFF"
       ></TextView>
         <TextView 
       android:id="@+id/text3" 
       android:layout_height="32sp" 
       android:layout_width="48sp" 
       android:layout_weight="1" 
       android:layout_marginRight="2sp" 
       android:layout_marginLeft="2sp" 
       android:background="#FFFFFF"
       ></TextView>
         <TextView 
       android:id="@+id/text4" 
       android:layout_height="32sp" 
       android:layout_width="48sp" 
       android:layout_weight="1" 
       android:layout_marginRight="48sp" 
       android:layout_marginLeft="2sp" 
       android:background="#FFFFFF"
       ></TextView>
     </LinearLayout>
     <LinearLayout 
     android:layout_width="match_parent" 
     android:id="@+id/linearLayout2" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="12sp"
     >
         <Button 
       android:text="1" 
       android:textColor="#FFFFFF" 
       android:id="@+id/button1" 
       android:layout_height="32sp" 
       android:layout_width="64sp" 
       android:layout_weight="1" 
       android:editable="false" 
       android:layout_marginRight="2sp" 
       android:layout_marginLeft="48sp" 
       android:background="@drawable/action_background_gradient" 
       android:onClick="ButtonClicked"
       ></Button>
         <Button 
       android:text="2" 
       android:textColor="#FFFFFF" 
       android:id="@+id/button2" 
       android:layout_height="32sp" 
       android:layout_width="64sp" 
       android:layout_weight="1" 
       android:editable="false" 
       android:layout_marginRight="2sp" 
       android:layout_marginLeft="2sp" 
       android:background="@drawable/action_background_gradient" 
       android:onClick="ButtonClicked"
       ></Button>
         <Button 
       android:text="3" 
       android:textColor="#FFFFFF" 
       android:id="@+id/button3" 
       android:layout_height="32sp" 
       android:layout_width="64sp" 
       android:layout_weight="1" 
       android:editable="false" 
       android:layout_marginRight="48sp" 
       android:layout_marginLeft="2sp" 
       android:background="@drawable/action_background_gradient" 
       android:onClick="ButtonClicked"
       ></Button>
     </LinearLayout>

     <!--... and so on for the rest of the buttons ... -->
 </LinearLayout>

我在第一个文本视图中使用了android:text=“X”,这样我就可以看到它是否工作了。当我完成布局调整后,这将消失。 我错过了什么简单的东西?

使用
android:gravity=“center”


尽管我在代码中没有看到任何EditText元素。确实发布了正确的代码吗?

要将文本居中,请在文本视图上使用
android:gravity
,而不是布局重力:

<TextView 
   android:id="@+id/text1" 
   android:layout_height="32sp" 
   android:layout_width="48sp" 
   android:layout_weight="1" 
   android:layout_marginRight="2sp" 
   android:layout_marginLeft="48sp" 
   android:background="#FFFFFF" 
   android:text="X" 
   android:gravity="center" />


android:layout\u gravity=“center”
与此视图在其父视图中的位置相关。
android:gravity=“center”
与此视图内容的位置相关。

在文本视图中使用
android:gravity=“center\u horizontal”
也可以通过编程方式完成此操作,当然:

textView.setGravity(Gravity.CENTER);

那是因为我是个笨蛋,我想说的是文本视图。同时做两件事。但我确实有重心,但它不起作用!我有重力,而不仅仅是重力。叹息。。。谢谢谢谢,这对我帮助很大。啊!我会犯多少次同样的错误!!我应该在额头上纹身布局重力。对于我的特殊活动,将
android:gravity
单独设置为
center
并不能解决问题,我还需要将
android:layou-gravity
设置为
center
+1
textView.setGravity(Gravity.CENTER);