您好我在图像视图中将文本视图居中。我希望它看起来像这样,但它实际上垂直居中,如果字体大小改变,保持垂直居中。
这就是我在XML中所拥有的东西我不在乎我是否需要将相对布局改为另一种对我来说无关紧要的方式我只是希望能够将其置于中心位置。继承人xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.spencer.app.ProfileActivity"
android:id="@+id/layout">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="140dp"
android:minWidth="140dp"
android:id="@+id/logoBackground"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="25dp"
android:layout_marginStart="25dp"
android:layout_marginTop="25dp"
android:contentDescription="@string/content_description_useless"
android:background="#ffffd0cd" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/capital_u"
android:id="@+id/u_textView"
android:textSize="80sp"
android:layout_marginLeft="31dp"
android:layout_marginStart="31dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_alignTop="@+id/logoBackground"
android:layout_alignLeft="@+id/logoBackground"
android:layout_alignStart="@+id/logoBackground" />
</RelativeLayout>
感谢您的帮助。
答案 0 :(得分:1)
试试这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.spencer.app.ProfileActivity" >
<ImageView
android:id="@+id/logoBackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="25dp"
android:layout_marginStart="25dp"
android:layout_marginTop="25dp"
android:background="#ffffd0cd"
android:contentDescription="@string/content_description_useless"
android:minHeight="140dp"
android:minWidth="140dp" />
<TextView
android:id="@+id/u_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/logoBackground"
android:layout_alignLeft="@+id/logoBackground"
android:layout_alignRight="@+id/logoBackground"
android:layout_alignStart="@+id/logoBackground"
android:layout_alignTop="@+id/logoBackground"
android:text="@string/capital_u"
android:textSize="80sp"
android:gravity="center" />
</RelativeLayout>
答案 1 :(得分:0)
您的问题是,您不会将视图置于其他内容的中心,而您只是试图在顶部绘制。
一种可能的解决方案是将TextView
的宽度和高度设置为与ImageView
的尺寸相同。然后,将其添加到您的TextView
XML:
android:gravity="center"
但总的来说,这不是做这种事情的正确方法。只需用以下内容更改TextView
的背景,您就会好得多:
android:background="#ffffd0cd"
您还可以将背景更改为可绘制的:
android:background="@drawable/my_logo_background_image"
答案 2 :(得分:0)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/layout"
tools:context="com.spencer.app.ProfileActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="140dp"
android:minWidth="140dp"
android:id="@+id/logoBackground"
android:layout_marginStart="25dp"
android:background="#ffffd0cd"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="U"
android:id="@+id/u_textView"
android:layout_marginTop="30dp"
android:layout_marginLeft="45dp"
android:textSize="80sp"
android:layout_alignTop="@+id/logoBackground"
android:layout_alignLeft="@+id/logoBackground"
android:layout_alignStart="@+id/logoBackground" />
我的工作并没有多大变化。用这个代替你的代码它会对你有用。 :)