垂直和水平中心

时间:2014-01-22 21:46:07

标签: android xml imageview android-linearlayout center

我可以将图像水平放置,但不能垂直放置..任何想法是什么原因造成的?它应该在屏幕的中心。我也试过android:layout_gravity =“center_vertical”,但似乎没有做到这一点......

<?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>

4 个答案:

答案 0 :(得分:3)

LinearLayout不允许此行为。请尝试使用RelativeLayout。

<?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>

答案 1 :(得分:0)

为什么你需要一个LinearLayout?您可以将ImageView与scaleType = center

一起使用
<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 ......

答案 2 :(得分:0)

您必须使用RelativeLayout来实现此类行为。我无法想到使用LinearLayout做到这一点的好方法。此外,您可以尝试图形布局(取决于您使用的编辑器)。

答案 3 :(得分:0)

我在隐形模式下使用了两个图像,仅用于创建空间 试试这个:

<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>