如何在Android中水平和垂直居中 TextView
。我尝试使用gravity:center
。但是文本显示在center vertically
中。我希望它也能水平显示。怎么做。
这是我的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.display.MainActivity$PlaceholderFragment" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/edit_mesaage"
android:hint="@string/edit_message" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/send"
android:id="@+id/send"
android:onClick="displaym"/>
<TextView
android:id="@+id/display_mes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"/>
</LinearLayout>
答案 0 :(得分:3)
你能使用:&#34; center_horizontal | center_vertical&#34;?
答案 1 :(得分:0)
您也可以使用以下方式动态设置:
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
或者只是
textview.setGravity(Gravity.CENTER);
答案 2 :(得分:0)
尝试将LinearLayout更改为RelativeLayout。然后,对于TextView,请尝试
<TextView
android:id="@+id/display_mes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
这通常适合我。
答案 3 :(得分:0)
使用android:gravity="center_horizontal|center_vertical"
由于android:gravity
会影响您拥有的视图的内容,而属性android:layout_gravity="center"
应根据父级设置整个view
布局的中心。因此,要使textView
中的文字居中使用
<TextView
android:id="@+id/display_mes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"/>
答案 4 :(得分:0)
试试这个..
因为主LinearLayout
方向是horizontal
,所以请尝试使用以下代码。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.display.MainActivity$PlaceholderFragment" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/edit_mesaage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="displaym"
android:text="send" />
</LinearLayout>
<TextView
android:id="@+id/display_mes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="textview" />
</LinearLayout>
或强>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.display.MainActivity$PlaceholderFragment" >
<EditText
android:id="@+id/edit_mesaage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/edit_mesaage"
android:onClick="displaym"
android:text="send" />
<TextView
android:id="@+id/display_mes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="textview" />
</RelativeLayout>
答案 5 :(得分:0)
您可以使用LinearLayout
包围RelativLayout
并稍微更改LinearLayout
上的布局参数,如下所示:
<RelativeLayout
xmlns:Android="..."
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true">
...
</LinearLayout>
</RelativeLayout>
这将确保您的按钮和文本视图之间的内部关系不变,因为它们仍然被LinearLayout
包裹,而RelativeLayout
又不再填充屏幕,因此,它可以是以新的父母为中心; {{1}}。
干杯
答案 6 :(得分:0)
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My text"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />