努力使文本居中

时间:2019-07-12 18:50:39

标签: 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: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>

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

2 个答案:

答案 0 :(得分:1)

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

android:gravity="center"

答案 1 :(得分:0)

TextViews的两个属性可能会对您有所帮助。

  • 第一个是gravity属性。此属性将使文本居中于TextView的边界内。因此,无论您的实际TextView大小是多少,文本都始终位于其中心。这是一个实现:

    android:gravity="center"
    
  • 还有一个layout_gravity属性,该属性将TextView相对于最近的父视图放置。重要的是要注意,此属性不会使文本居中,而是将整个TextView居中。这是一个实现:

    android:layout_gravity="center"
    

请参阅documentation了解更多信息。

我希望这会有所帮助。快活的编码!