这是我的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"