如何将小圆角图像放在边缘上,如下图所示(这实际上是我需要复制的设计):
更新:到目前为止完成如下操作:
现在如何修复重叠问题(表格布局重叠圆形图片)?
更新:完成!
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/back" >
<!-- Put everything contained in the white area in this layout -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:background="@android:color/transparent"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:background="@color/White"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="60dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name:" />
<EditText
android:id="@+id/name_editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Name"
android:inputType="textPersonName" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email:" />
<EditText
android:id="@+id/email_editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Email"
android:inputType="textEmailAddress" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email:" />
<EditText
android:id="@+id/phone_editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Phone"
android:inputType="phone" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Birthday:" />
<EditText
android:id="@+id/birth_editText4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:editable="false"
android:ems="10"
android:hint="Birthday"
android:inputType="date" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:" />
<EditText
android:id="@+id/pass_editText6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Password"
android:inputType="textPassword" />
</LinearLayout>
<Button
android:id="@+id/register_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Register" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:scaleType="fitXY"
android:src="@drawable/signup" />
</RelativeLayout>
答案 0 :(得分:2)
我建议使用RelativeLayout。我将举一个粗略的例子:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
// The Image you want to put on the top edge
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/image" />
// Put everything contained in the white area in this layout
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
// Since there is now way to align the ImageView with top edge, just move
// this layout down for half of the height of the image.
android:layout_marginTop="@dimen/half_image_height">
...
</RelativeLayout>
</RelativeLayout>
答案 1 :(得分:2)
以下示例与您要求的一样.... 可能有助于设计您的布局......
<RelativeLayout
android:layout_width="250dp"
android:layout_height="350dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:background="@color/White"
android:orientation="vertical" >
<Button
android:id="@+id/register_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Register" />
<RelativeLayout
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="100dp"
android:layout_height="104dp"
android:layout_marginTop="60dp"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Name:" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email:" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Phone:" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Birthday:" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Password:" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/linearLayout1"
android:layout_weight="1"
android:orientation="vertical" >
<EditText
android:id="@+id/name_editText1"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/edit_text_shap"
android:ems="10"
android:hint="Name"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/email_editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edit_text_shap"
android:ems="10"
android:hint="Email"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/phone_editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/edit_text_shap"
android:ems="10"
android:hint="Phone"
android:inputType="phone" />
<EditText
android:id="@+id/birth_editText4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/edit_text_shap"
android:editable="false"
android:ems="10"
android:hint="Birthday"
android:inputType="date" />
<EditText
android:id="@+id/pass_editText6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/edit_text_shap"
android:ems="10"
android:hint="Password"
android:inputType="textPassword" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:scaleType="fitXY"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
文件名edit_text_shap.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@android:color/darker_gray" />
<stroke
android:width="1dp"
android:color="#CCCCCC" />
<corners android:radius="8dip"/>
</shape>
答案 2 :(得分:1)
我发布了正确的答案,仍然没有投票。无论如何,这是你问题的复制品。你可以自己编辑
<?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:background="@drawable/abc"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="100dp"
android:text="FirstName"
android:textSize="10sp" />
<EditText
android:id="@+id/editText1"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/textView1"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@id/textView1"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="30dp"
android:text="LastName"
android:textSize="10sp" />
<EditText
android:id="@+id/editText2"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/textView2"
android:layout_below="@id/editText1"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@id/textView2"
android:ems="10" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="30dp"
android:text="UserName"
android:textSize="10sp" />
<EditText
android:id="@+id/editText3"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/textView3"
android:layout_alignLeft="@+id/editText2"
android:layout_alignTop="@+id/textView3"
android:ems="10" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_centerVertical="true"
android:layout_marginTop="30dp"
android:text="Password"
android:textSize="10sp" />
<EditText
android:id="@+id/editText4"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/textView4"
android:layout_alignLeft="@+id/editText1"
android:layout_centerVertical="true"
android:ems="10"
android:inputType="textPassword" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/editText4"
android:layout_below="@+id/textView5"
android:text="Agreed and consent to our Terms of Service"
android:textSize="10sp" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView6"
android:layout_below="@+id/editText4"
android:layout_marginTop="44dp"
android:text="Terms & Conditions"
android:textStyle="bold" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView6"
android:layout_below="@+id/textView6"
android:layout_marginTop="27dp"
android:text="Create New Account" />
</RelativeLayout>
答案 3 :(得分:0)
您可以尝试此布局。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/yourLinearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp">
<!-- YOUR CONTENT -->
</LinearLayout>
<ImageView
android:id="@+id/yourRoundedImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignTop="@id/yourLinearLayout"
android:layout_marginTop="@dimen/halfHeightOfYourImage"/>
</RelativeLayout>
希望这有帮助
答案 4 :(得分:0)
我同意@Rahul Gupta的答案,但我不想使用背景图片,而是想使用RelativeLayout
。
ImageView
并将其与屏幕的顶部中心对齐。LinearLayout
和不要提及android:layout_below 属性。这将导致LinearLayout再次从屏幕的开头开始。现在使用android:margin_top
属性并将其设置为某个值,使布局向下移动到图像的一半。TextView
和EditText
。祝你好运!
答案 5 :(得分:0)
// try this
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/back"
android:layout_gravity="center">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:gravity="center"
android:background="@color/White"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="60dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name:" />
<EditText
android:id="@+id/name_editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Name"
android:inputType="textPersonName" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email:" />
<EditText
android:id="@+id/email_editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Email"
android:inputType="textEmailAddress" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email:" />
<EditText
android:id="@+id/phone_editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Phone"
android:inputType="phone" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Birthday:" />
<EditText
android:id="@+id/birth_editText4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:editable="false"
android:ems="10"
android:hint="Birthday"
android:inputType="date" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:" />
<EditText
android:id="@+id/pass_editText6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Password"
android:inputType="textPassword" />
</LinearLayout>
<Button
android:id="@+id/register_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Register" />
</LinearLayout>
</RelativeLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_gravity="top|center_horizontal"
android:scaleType="fitXY"
android:src="@drawable/signup" />
</FrameLayout>
答案 6 :(得分:0)
我知道我迟到了,但我想发布我的代码也很适合我!
<RelativeLayout
style="@style/personal_info_page_layout"
android:layout_weight="1">
<View
android:id="@+id/vLogoImg"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:background="@color/colorPrimary"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="@+id/vLogoImg"
android:background="@mipmap/logo"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
只需设置图片&amp;颜色根据您的要求。