元素中心的屏幕android xml

时间:2015-11-05 19:00:53

标签: android xml position

我想在任何设备的屏幕中居中两个元素我的元素是ImageView,相对布局有3个文本视图

我有这段代码

<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:background="@drawable/background_app"
tools:context=".HomeActivity"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true">

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_xlogo_splash"
    android:layout_gravity="center"
    android:id="@+id/main_logo"
    />

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_gravity="center">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/suite"
    android:textColor="@color/white"
    android:id="@+id/suite"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/business"
    android:layout_alignEnd="@+id/business" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/business"
    android:textColor="@color/white"
    android:layout_gravity="center"
    android:textSize="30sp"
    android:id="@+id/business"
    android:layout_below="@+id/suite"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/by"
    android:textColor="@color/white"
    android:layout_gravity="center"
    android:id="@+id/by"
    android:layout_below="@+id/business"
    android:layout_centerHorizontal="true" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_xetux_logo"
    android:layout_marginLeft="20dp"
    android:layout_gravity="center"
    android:layout_below="@+id/business"
    android:id="@+id/company_logo"
    android:layout_alignRight="@+id/business"
    />
</RelativeLayout>

我希望图像视图和屏幕中间的相对布局,彼此相邻。

我使用this和其他解决方案进行了探测,这对我不起作用

1 个答案:

答案 0 :(得分:1)

将您的ImageView和相对布局与3个文本视图放在LinearLayout中(垂直或水平作为您的要求)。

将此LinearLayour放在RelativeLayout中。并添加

android:layout_centerInParent="true"

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

<LinearLayout 
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true">

<ImageView..../>

<RelativeLayout...>
    <TextView.../>
    <TextView.../>
    <TextView.../>
</RelativeLayout>

</LinearLayout>
</RelativeLayout>