我使用此代码进行此布局。
<?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:layout_margin="20dp"
android:background="@android:color/transparent">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_centerInParent="true"
android:background="@drawable/rounded_white_bg">
<EditText
android:id="@+id/login"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@drawable/dialog_edittex"
android:layout_margin="10dp"/>
<EditText
android:id="@+id/password"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_margin="10dp"
android:background="@drawable/dialog_edittex"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="@android:color/black"
android:text="AAAAAAAAAAAA"
android:layout_gravity="center"
android:textSize="20sp"
/>
<ImageView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:src="@drawable/dialog_button_bg"/>
</LinearLayout>
</RelativeLayout>
rouded_whiite.bg.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff" />
<corners
android:radius="20dp"/>
</shape>
但是当我这样做时,我看到了这个结果。如您所见,红色按钮下方有一些边距。我没有设置任何余量或东西,但那里有一些空间。我应该怎么做才能获得精确的结果,如第一张图片。
答案 0 :(得分:1)
使用:
android:layout_centerHorizontal="true"
而不是
android:layout_centerInParent="true"
并从底部删除保证金......
答案 1 :(得分:1)
从RelativeLayout
移除保证金并使LinearLayout
重力android:layout_centerHorizontal="true"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_centerHorizontal="true"
android:background="@drawable/rounded_white_bg">
答案 2 :(得分:0)
<LinearLayout
android:layout_height="wrap_content"
正因为如此。从线性布局中移除imageview并在相对布局中设置并将属性指定为alignparent bottom,对于线性布局,将alignparent置于图像视图属性的顶部和上方,
答案 3 :(得分:0)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:background="@android:color/transparent">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"
android:background="@drawable/rounded_white_bg">
<EditText
android:id="@+id/login"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@drawable/dialog_edittex"
android:layout_margin="10dp"/>
<EditText
android:id="@+id/password"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_margin="10dp"
android:background="@drawable/dialog_edittex"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="@android:color/black"
android:text="AAAAAAAAAAAA"
android:layout_gravity="center"
android:textSize="20sp"
/>
<ImageView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:src="@drawable/dialog_button_bg"/>
</LinearLayout>
</RelativeLayout>
答案 4 :(得分:0)
如果您使用drawable for imageview作为.png或.jpg使用以下drawable为您的图像可能会有所帮助。将其另存为backgroung_bg.xml或其他任何内容
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
<shape >
<corners android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp"/>
<solid android:color="#CF4647"/>
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp"/>
</shape>
</item>
当你应用它时,你会得到以下警告,只需忽略并运行它。如果你需要渐变型的颜色问我
布局编辑器中的图形预览可能不准确: Path.addRoundRect不支持不同的边角大小。 (忽略此会话)