这是我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#33B5E5"
        android:padding="5dp" >
        <ImageView
            android:id="@+id/icon"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_alignParentLeft="true"
            android:layout_centerInParent="true"
            android:background="@android:drawable/ic_lock_lock" />
        <TextView
            android:id="@+id/func_text"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_gravity="center_vertical"
            android:layout_toRightOf="@+id/icon"
            android:gravity="center"
            android:padding="5dp"
            android:text="This is my test string............"
            android:textColor="#FFFFFF" />
        <ImageView
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_alignParentRight="true"
            android:layout_centerInParent="true"
            android:layout_gravity="center_vertical"
            android:src="@android:drawable/ic_media_next" />
    </RelativeLayout>
</LinearLayout>


它基于来自堆栈溢出线程之一的示例。结果如下:

我正在使用android:layout_height="wrap_content"将内容包装在相对布局中。

我将layout_gravity设置为"center"还是"center_vertical"都没关系。我永远不能在屏幕中央(垂直)设置此相对布局。

不太确定我在这里缺少什么。

编辑:以及从@codeMagic看到聊天;在某些情况下可能会有所帮助。

最佳答案

一种方法是将外部LinearLayout更改为RelativeLayout,然后将此行添加到内部RelativeLayout中:

android:layout_centerVertical="true"

10-07 19:27
查看更多