2

ImageViewこれをcenter(水平および垂直)に揃えたい:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/titletab"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="@dimen/slidingtab_icon_header"
    android:gravity="center">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="@dimen/slidingtab_item_icon_size"
        android:layout_height="@dimen/slidingtab_item_icon_size"
        android:layout_gravity="center_horizontal"
        android:src="@drawable/ic_event_black_18dp"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_alignParentBottom="true"
        android:background="@color/sliding_tab_border_color"/>

</RelativeLayout>

View行 ( ) を追加しないとImageView、それは完璧です、それは機能しますが、この行ではgravity機能しません。

よろしくお願いします!

4

5 に答える 5

2

いくつかのプロパティを変更する必要があり、ビューは完璧です。以下を確認すると、 で重力プロパティを変更していることがわかります。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/titletab"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="@dimen/slidingtab_icon_header"
    >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="@dimen/slidingtab_item_icon_size"
        android:layout_height="@dimen/slidingtab_item_icon_size"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_alignParentBottom="true"
        android:background="@color/sliding_tab_border_color"/>

</RelativeLayout>

使用する必要があります

android:layout_centerHorizontal="true"
android:layout_centerVertical="true"

それ以外の

android:layout_gravity="center_horizontal|center_vertical"

これはLinearLayoutで機能するためです。ただし、RelativeLayoutの場合、上記のプロパティを重力セットに使用する必要があります。

于 2015-06-29T07:35:58.327 に答える
1

android:layout_centerInParent="true"のプロパティを試して、Relativelayoutを削除してくださいgravity

<ImageView
        android:id="@+id/icon"
        android:layout_width="@dimen/slidingtab_item_icon_size"
        android:layout_height="@dimen/slidingtab_item_icon_size"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_event_black_18dp"/>
于 2015-06-29T07:23:58.280 に答える
0

View 要素では、layout_alignParentBottom の代わりに layout_alignBottom を使用する必要があります。

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:layout_alignBottom="@+id/icon"
    android:background="@color/sliding_tab_border_color" />
于 2015-06-29T07:36:27.833 に答える
0

これでコードを変更してください。それは機能しており、アイコンを私が利用できるものに変更しました。あなたのアイコンを使用できます

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/titletab"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="@dimen/slidingtab_icon_header">



    <ImageView
        android:id="@+id/icon"
        android:layout_width="@dimen/slidingtab_item_icon_size"
        android:layout_height="@dimen/slidingtab_item_icon_size"
        android:src="@drawable/abc_ic_ab_back_mtrl_am_alpha"
        android:layout_gravity="center_horizontal"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/li">

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_alignParentBottom="true"/>
    </LinearLayout>

</RelativeLayout>
于 2015-06-29T07:39:04.430 に答える
0

もう 1 つのレイアウト要素を使用しImageViewて要素をマージできますView。このような;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/titletab"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="@dimen/slidingtab_icon_header"
    android:gravity="center">

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

        <ImageView
            android:id="@+id/icon"
            android:layout_width="@dimen/slidingtab_item_icon_size"
            android:layout_height="@dimen/slidingtab_item_icon_size"
            android:src="@drawable/ic_event_black_18dp"/>

        <View
            android:layout_below="@+id/icon"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/sliding_tab_border_color"/>

    </RelativeLayout>

</RelativeLayout>
于 2015-06-29T07:41:51.927 に答える