将ImageView设置在屏幕中央

时间:2013-06-30 08:33:19

标签: android

我的问题对其他人来说可能是微不足道的,但对我来说,我无法让它发挥作用。我有布局xml如下。

<?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="match_parent"
    android:layout_height="match_parent"   
    android:orientation="vertical"
    >

    <LinearLayout android:id="@+id/tracker_container"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:orientation="vertical"
        />

    <ImageView
        android:id="@+id/mainImageView"
        android:contentDescription="@string/display"        
        android:layout_gravity="center"
        android:layout_width="400dp"
        android:layout_height="300dp"
        android:opacity="translucent" 

        />

</LinearLayout>

如何让ImageView位于整个屏幕的中心? 感谢

2 个答案:

答案 0 :(得分:1)

试试这个 -

<?xml version="1.0" encoding="utf-8"?>
<RelativeLaout 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"   
>

<RelativeLayout android:id="@+id/tracker_container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
/>

<ImageView
    android:id="@+id/mainImageView"
    android:contentDescription="@string/display"        
    android:layout_centerInParent="true"
    android:layout_width="400dp"
    android:layout_height="300dp"
    android:opacity="translucent" 

    />

</RelativeLayout>

答案 1 :(得分:0)

您可以使用RelativeLayout作为父级,并使用layout_centerInParent

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

    <LinearLayout android:id="@+id/tracker_container"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:orientation="vertical" />

    <ImageView
        android:id="@+id/mainImageView"
        android:contentDescription="@string/display"        
        android:layout_centerInParent="true"
        android:layout_width="400dp"
        android:layout_height="300dp"
        android:opacity="translucent" />

</RelativeLayout>

我不确定LinearLayout是什么意思,但我已将其保留在那里。也许你是以编程方式填充它,它正在推动你的ImageViewRelativeLayout确保它始终是父级的核心,无论其他视图元素如何。