Android 努力使文本居中

Android 努力使文本居中,android,xml,android-layout,Android,Xml,Android Layout,有人能帮我把这篇文章放在中间吗 我尝试过改变布局的宽度、高度和填充,但只会让情况变得更糟 <com.github.mmin18.widget.FlexLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@color/login_bg" android:layou

有人能帮我把这篇文章放在中间吗

我尝试过改变布局的宽度、高度和填充,但只会让情况变得更糟

<com.github.mmin18.widget.FlexLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:background="@color/login_bg" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent">

  <ImageView 
    android:id="@id/logo" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/logo_main" 
    app:layout_centerX="50%" 
    app:layout_centerY="30%" />

  <EditText 
    android:textSize="18.0sp" 
    android:textColorHint="#ff4d4d4d"                 
    android:gravity="center" 
    android:id="@id/edit_code" 
    android:focusable="true" 
    android:visibility="gone" 
    android:layout_width="341.32812dip" 
    android:layout_height="46.0dip" 
    android:hint="@string/active_code" 
    android:layout_centerHorizontal="true" 
    android:inputType="text" 
    app:layout_centerX="50%" 
    app:layout_top="logo.bottom + parent.height/20" />

<Button 
    android:textSize="18.0sp" 
    android:id="@id/btn_reset" 
    android:background="@drawable/btn_bg" 
    android:focusable="true" 
    android:visibility="gone" 
    android:layout_width="160.0dip" 
    android:layout_height="36.0dip" 
    android:text="@string/reset" 
    android:textAllCaps="false" 
    app:layout_left="edit_code.left + 2dp" 
    app:layout_top="edit_code.bottom + 8dp" />

<Button 
    android:textSize="18.0sp" 
    android:id="@id/btn_login"
    android:background="@drawable/btn_bg" 
    android:focusable="true" 
    android:visibility="gone" 
    android:layout_width="160.0dip" 
    android:layout_height="36.0dip" 
    android:text="@string/login" 
    android:textAllCaps="false" 
    app:layout_right="edit_code.right" 
    app:layout_top="edit_code.bottom + 8dp" />

<ProgressBar 
    android:id="@id/pb" 
    android:visibility="gone" 
    android:layout_width="22.0dip" 
    android:layout_height="22.0dip"                         
    android:indeterminateDrawable="@drawable/login_progress" 
    android:layout_alignEnd="@id/btn_login" 
    app:layout_centerY="btn_login.centerY" 
    app:layout_right="btn_login.right-0.0556*screen.height" />

<TextView 
    android:textSize="22.0sp" 
    android:textColor="@color/white" 
    android:id="@id/change_login" 
    android:focusable="true" 
    android:clickable="true" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Please click here to login" 
    android:paddingStart="3.0dip" 
    android:paddingEnd="3.0dip" 
    app:layout_right="btn_login.right" 
    app:layout_top="btn_login.bottom + 8dp" />

<android.support.v7.widget.AppCompatCheckBox 
    android:theme="@style/MyCheckBox" android:gravity="center" 
    android:id="@id/statement_check" 
    android:layout_width="@dimen/_36dp" 
    android:layout_height="@dimen/_36dp" 
    app:layout_height="btn_reset.height" 
    app:layout_left="btn_reset.left" 
    app:layout_top="change_login.bottom + 8dp" 
    app:layout_width="btn_reset.height" />

<TextView 
    android:textSize="@dimen/text_12" 
    android:textColor="@color/white"         
    android:id="@id/statement" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/state_all" 
    app:layout_left="statement_check.right + 8dp" 
    app:layout_right="btn_login.right" 
    app:layout_top="statement_check.top" />

</com.github.mmin18.widget.FlexLayout>


我认为删除填充将有所帮助,或者将其更改为填充内容将有所帮助,但文本只是消失了

如果发布应用程序的XML代码,您可能会得到更好的答案。 通常,要使项目的文本居中,只需使用“重力”属性。 在XML文件中,搜索包含要居中的文本的组件,并将以下内容添加到其属性中:


android:gravity=“center”

文本视图有两个属性可以帮助您

  • 首先是重力属性。此属性将使文本在TextView的边界内居中。因此,无论您的实际文本视图有多大或多小,文本始终位于其中心。下面是一个实现:

    android:gravity="center"
    
    android:layout_gravity="center"
    
  • 还有
    layout\u gravity
    属性,该属性相对于最近的父视图定位文本视图。需要注意的是,此属性不会将文本居中,而是将整个文本视图居中。下面是一个实现:

    android:gravity="center"
    
    android:layout_gravity="center"
    
请参阅以了解更多信息


我希望这有帮助。快乐的编码

谢谢你的回复,我也尝试过添加这些内容,但也没有什么不同,我感觉有些冲突。@jafo666我首先需要知道:你想让文本在组件中居中还是组件居中?