<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<com.example.root.howold.MyRing
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
我也尝试设置 gravity 和 layout_gravity ,但它们实际上不起作用。
如何在布局中制作MyRing(我的自定义视图)中心?
答案 0 :(得分:4)
Try this:-
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.example.root.howold.MyRing
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
答案 1 :(得分:0)
阅读本文: Gravity and layout_gravity on Android
要使视图对齐居中,您可以:
LinearLayout case1:
“android:gravity”是它的儿童观点。
如果这不起作用,请检查它的父视图的宽度和高度。
并且,将父级的宽度和高度设置为更大的大小。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TEST" />
</LinearLayout>
LinearLayout case2:
“android:layout_gravity”是自己的,如果父视图有空格。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="TEST" />
</LinearLayout>
的 RelativeLayout的强>
您可以对RelativeLayout使用“android:layout_centerInParent”。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="TEST" />
</RelativeLayout>
答案 2 :(得分:0)
如果您使用根布局作为线性布局。您可以使用以下文本将自定义视图设置为居中。
取决于您的要求,您可以
layout_gravity="center"
(或)
layout_gravity="center_vertical"
(或)
layout_gravity="center_horizontal"
以下是具有自定义视图的xml。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Here you may some other views -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center">
<com.purpletalk.root.sampledemo.MyRing
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="hellooooo" />
</LinearLayout>
</LinearLayout>
答案 3 :(得分:0)
如果您使用的是线性布局,
选项1:将android:gravity
添加到父视图,以使其所有子项居中
观点。
示例:
<LinearLayout
android:gravity="center">
<TextView/>
<TextView/> // Both these textviews will be aligned center
</LinearLayout>
选项2:如果您只想居中一个子视图,则添加该属性
{child}标记的android:layout_gravity="center"
。
<LinearLayout>
<TextView
android:layout_gravity="center" // Only this textview will be aligned center
/>
<TextView/>
</LinearLayout>