Android:RelativeLayout 中的重力 ImageView 失败

标签 android android-relativelayout layout-gravity

我想在中心对齐此ImageView(水平和垂直):

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

如果我不在我的ImageView后面添加这一行(View),那就完美了,它可以工作,但是有了这一行,gravity > 不起作用。

提前致谢!

最佳答案

您需要更改一些属性,而您的 View 是完美的。只需检查下面,您就会看到我更改了 中的重力属性。

<?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,您需要使用上述属性进行重力设置。

关于Android:RelativeLayout 中的重力 ImageView 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31109881/

相关文章:

android - RelativeLayout 对齐规则在 DialogFragment 中不起作用

android - 在自定义 RelativeLayout 中居中子项

Java 中 TextView 的 Android layout_gravity

android - 如何在android中实现工具栏的水平滚动?

android - 使用 coredata 创建类似于 iOS 的 Android 应用程序

Android - 存储多个布局变体的最佳方式

android - 当布局宽度为 720 时,RelativeLayout.getWidth 返回 0

android:重力中心_水平线性布局不起作用

android - React native 应用程序仅在发布版本时崩溃

java - 尝试流式传输到自定义 RTMP 时,DJI Mobile SDK 中出现 LiveStreamManager 错误 -3?