我在相对布局中有一个图像和一个textview。图像和textview占据屏幕宽度的50%。如何使图像和文本视图居中?我尝试了很多方法而且我不知道我做错了什么......
这是我的代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="100">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50"
android:layout_centerHorizontal="true">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textViewEventImage"
android:adjustViewBounds="true" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/eventNameBackground"
android:id="@+id/textViewEventName"
android:textColor="@android:color/white"
android:textSize="15sp"/>
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:9)
尝试使用符合您要求的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5"
android:background="#ff0000" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="180dp"
android:layout_height="120dp"
android:layout_centerInParent="true"
android:gravity="center_vertical"
android:src="@drawable/americanexpress" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@+id/imageView1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="16dp"
android:text="Your product" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5"
android:background="#00ff00" />
</LinearLayout>
答案 1 :(得分:3)
试试这个
将imageview
设为
centerinparent ="true"
textview
也centerinparent="true"
并向textview
添加一个属性
正如
android: layout_below="@+id/imageview id"
答案 2 :(得分:0)
如果您想在中心使用ImageView和TextView,请使用此功能。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/textViewEventImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/textViewEventName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewEventImage"
android:layout_centerInParent="true"
android:text="There is Your Text"
android:textSize="15sp" />
</RelativeLayout>
答案 3 :(得分:0)
可能会有所帮助
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true">
<ImageView
android:layout_width="xxxdp"
android:layout_height="xxxdp"
android:src="@drawable/someimage"
/>
<TextView
android:layout_width="xxxdp"
android:layout_height="xxxdp"
android:text="fweqf"/>
</LinearLayout>
</RelativeLayout>