Android 垂直和水平中心
我可以将图像水平居中,但不能垂直居中。。你知道是什么引起的吗?它应该在屏幕的中央。我也试过安卓:layout\u gravity=“center\u vertical”,但似乎没用Android 垂直和水平中心,android,xml,imageview,android-linearlayout,center,Android,Xml,Imageview,Android Linearlayout,Center,我可以将图像水平居中,但不能垂直居中。。你知道是什么引起的吗?它应该在屏幕的中央。我也试过安卓:layout\u gravity=“center\u vertical”,但似乎没用 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.androi
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/splash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/splash" />
</LinearLayout>
线性布局不允许此行为。试试相对论吧
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/splash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/splash" />
</RelativeLayout>
为什么需要线性布局?您可以使用scaleType=center的ImageView
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/splash"
android:src="@drawable/splash"
android:scaleType="center" />
这就是您的全部xml…您必须使用RelativeLayout来处理此类行为。我想不出一个用线性布局的好方法。此外,您可以尝试图形布局(取决于您使用的编辑器)。我在不可见模式下使用了两个图像,只是为了创建空间。
试试这个:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/fake"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:src="@drawable/splash"
android:visibility="invisible" />
<ImageView
android:id="@+id/splash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/splash" />
<ImageView
android:id="@+id/fake"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/splash"
android:visibility="invisible" />
</LinearLayout>
是否没有办法在线性布局中使图像居中?没有内置的好方法,也没有。LinearLayout的作用类似于HTML—它从上到下构建。垂直方向的布局重力不起作用,因为持续测量该值太昂贵了。我猜OP最终想在他的视图中放置的不仅仅是图像。