是否可以在相对布局中对齐任何按钮或图像中心w.r.t中的文本?

时间:2012-10-25 07:24:07

标签: android relativelayout

以下图片显示login文字Not a Member?文字与Button不在一起。

我希望该文本位于w.r.t对应按钮的中心位置?

这是相关的xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android1:gravity="end" >

<ImageView
    android1:id="@+id/imageView1"
     android:contentDescription="@string/empty"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignParentTop="true"
    android1:layout_centerHorizontal="true"
    android1:src="@drawable/topbar" />

<ImageView
    android1:id="@+id/imageView2"
     android:contentDescription="@string/empty"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_centerHorizontal="true"
    android1:layout_centerVertical="true"
    android1:src="@drawable/field_frame" />

<EditText
    android1:id="@+id/username"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignLeft="@+id/imageView2"
    android1:layout_alignTop="@+id/imageView2"
    android1:layout_marginLeft="10dp"
    android1:layout_marginTop="4dp"
    android1:background="#00000000"
    android1:ems="10"
    android1:height="40dp"
    android1:inputType="textEmailAddress"
    android1:minHeight="40dp"
    android1:text="@string/user_email_given"

    android1:windowSoftInputMode="stateVisible|adjustResize|adjustPan" >       
</EditText>


<EditText
    android1:id="@+id/password"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignLeft="@+id/username"
    android1:layout_alignRight="@+id/username"
    android1:layout_below="@+id/username"
    android1:layout_marginTop="8dp"
    android1:background="#00000000"
    android1:ems="10"
    android1:height="40dp"
    android1:inputType="textPassword"
    android1:minHeight="40dp"
    android1:text="@string/user_pass_given" >

    <requestFocus />
</EditText>

<ImageView
    android1:id="@+id/imageView3"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_above="@+id/imageView2"
    android1:layout_centerHorizontal="true"
    android1:layout_marginBottom="60dp"
    android:contentDescription="@string/empty"
    android1:src="@drawable/transbeacon_logo" />

<ImageView
    android1:id="@+id/imageView4"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_below="@+id/imageView2"
    android1:layout_centerHorizontal="true"
    android1:layout_marginTop="50dp"
    android1:contentDescription="@string/activityimg"
    android1:src="@drawable/button" />

<ImageView
    android1:id="@+id/imageView5"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignLeft="@+id/imageView4"
    android1:layout_below="@+id/imageView4"
    android1:layout_marginTop="5dp"
    android1:contentDescription="@string/activityimg"
    android1:src="@drawable/button" />

<TextView
    android1:id="@+id/TextView01"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignLeft="@+id/imageView5"
    android1:layout_alignTop="@+id/imageView5"
    android1:layout_marginLeft="75dp"
    android1:layout_marginTop="2dp"
    android1:text="@string/not_a_member"
     android:textStyle="bold"
     android1:textColor="#000000"
    android1:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android1:id="@+id/textView2"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignParentTop="true"
    android1:layout_centerHorizontal="true"
    android1:layout_marginTop="10dp"
    android1:text="@string/sign_in"
    android:textStyle="bold"
    android1:textAppearance="?android:attr/textAppearanceLarge"
    android1:textColor="#000000" />

<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android1:id="@+id/hori_line"
    android1:layout_width="fill_parent"
    android1:layout_height="wrap_content"
    android1:layout_alignParentBottom="true"
    android1:layout_alignParentLeft="true"
    android1:layout_marginBottom="38dp"
    android1:contentDescription="@string/empty"
    android1:paddingBottom="2dp"
    android1:paddingLeft="0dp"
    android1:paddingRight="0dp"
    android1:paddingTop="2dp"
    android1:scaleType="fitXY"
    android1:src="#b5b5b5" />

<ImageView
    android1:id="@+id/imageView6"
    android1:contentDescription="@string/empty"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignRight="@+id/imageView2"
    android1:layout_alignTop="@+id/hori_line"
    android1:layout_marginTop="12dp"
    android1:src="@drawable/help_icon" />

<ImageView
    android1:id="@+id/imageView7"
    android1:contentDescription="@string/empty"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignLeft="@+id/imageView2"
    android1:layout_alignTop="@+id/hori_line"
    android1:layout_marginTop="12dp"
    android1:src="@drawable/bottom_transbeacon" />

    <View
        android1:layout_width="1dip"
        android1:layout_height="40dp"
        android1:layout_alignRight="@+id/imageView5"
        android1:layout_alignTop="@+id/hori_line"
        android1:layout_marginTop="2dp"
        android1:background="#b5b5b5" />

    <TextView
        android1:id="@+id/textView1"
        android1:layout_width="wrap_content"
        android1:layout_height="wrap_content"
        android1:layout_alignLeft="@+id/imageView4"
        android1:layout_alignTop="@+id/imageView4"
        android1:text="@string/login"
        android1:textAppearance="?android:attr/textAppearanceMedium"
        android1:textColor="#000000"
        android1:textStyle="bold" />

 </RelativeLayout>

3 个答案:

答案 0 :(得分:2)

您可以使用ImageButton代替ImageView

您可以将图片添加为背景,将文字添加到android

答案 1 :(得分:2)

您可以使用Button代替ImageView,请参阅下面的代码

<Button
         android:id="@+id/submitbutton"
            android:layout_width="80dp"
            android:layout_height="40dp"
            android:background="@drawable/button_medium2"
            android:text="Login" />

答案 2 :(得分:0)

使用imagebutton并将重力设置为居中

<ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/YOURIMAGE"
        android:text="Login"
        android:gravity="center"/>