如何调整文件的空间和整体外观,使其看起来更像图片?

时间:2019-06-09 06:03:31

标签: android xml android-layout

我正在尝试使登录页面更像图片:https://ibb.co/DKmTnHH,目前看起来像这样:https://ibb.co/0MV0rgj

我似乎无法仅从图片中得出我在视图之间放置多少空白?您如何解决这个问题,如何使我的edittext从侧面和所有小细节四舍五入?

<?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"
 >

    <ImageView
        android:id="@+id/logo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/logo"
        android:scaleType="fitXY"/><!--set scale type fit xy-->

    <EditText
        android:id="@+id/username"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_above="@id/password"
        android:hint="اسم المستخدم" />

    <EditText
        android:id="@+id/password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_above="@id/signin"
        android:ems="10"
        android:hint="كلمة السر" />

    <ImageButton
        android:id="@+id/signin"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_centerInParent="true"
        android:layout_above="@id/forgetpassword"
        android:src="@drawable/Login-button" />

    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:id="@+id/forgetpassword"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:layout_above="@id/noaccount"
        android:src="@drawable/Forget-pass"/>

    <ImageButton
        android:id="@+id/noaccount"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_above="@id/footer"
        android:layout_centerInParent="true"
        android:src="@drawable/Dont-have-acc" />


    <ImageView
        android:id="@+id/footer"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:src="@drawable/footer-image"
        android:layout_alignParentBottom="true"

        android:scaleType="fitXY"/><!--set scale type fit xy-->
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

您可以将ConstraintLayoutChainsGuidelines结合使用,以获得响应式屏幕,而不必使用固定的尺寸边距(使​​屏幕变为非响应式)。

以下是示例:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

<Button
    android:id="@+id/button"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:text="Button"
    app:layout_constraintBottom_toTopOf="@+id/button2"
    app:layout_constraintEnd_toStartOf="@+id/guideline32"
    app:layout_constraintStart_toStartOf="@+id/guideline33"
    app:layout_constraintTop_toTopOf="@+id/guideline31" />

<Button
    android:id="@+id/button2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="Button"
    app:layout_constraintBottom_toTopOf="@+id/button3"
    app:layout_constraintEnd_toEndOf="@+id/button"
    app:layout_constraintStart_toStartOf="@+id/button"
    app:layout_constraintTop_toBottomOf="@+id/button" />

<Button
    android:id="@+id/button3"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="Button"
    app:layout_constraintBottom_toTopOf="@+id/textView11"
    app:layout_constraintEnd_toEndOf="@+id/button"
    app:layout_constraintStart_toStartOf="@+id/button"
    app:layout_constraintTop_toBottomOf="@+id/button2" />

<TextView
    android:id="@+id/textView11"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="TextView"
    app:layout_constraintBottom_toTopOf="@+id/textView12"
    app:layout_constraintEnd_toEndOf="@+id/button"
    app:layout_constraintStart_toStartOf="@+id/button"
    app:layout_constraintTop_toBottomOf="@+id/button3" />

<TextView
    android:id="@+id/textView12"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="TextView"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="@+id/button"
    app:layout_constraintStart_toStartOf="@+id/button"
    app:layout_constraintTop_toBottomOf="@+id/textView11" />

<ImageView
    android:id="@+id/imageView"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    app:layout_constraintBottom_toTopOf="@+id/guideline31"
    app:layout_constraintEnd_toStartOf="@+id/guideline32"
    app:layout_constraintStart_toStartOf="@+id/guideline33"
    app:layout_constraintTop_toTopOf="parent"
    tools:srcCompat="@tools:sample/avatars[10]" />

<android.support.constraint.Guideline
    android:id="@+id/guideline31"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    app:layout_constraintGuide_begin="200dp"
    app:layout_constraintGuide_percent="0.3" />

<android.support.constraint.Guideline
    android:id="@+id/guideline32"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_begin="352dp"
    app:layout_constraintGuide_percent="0.9" />

<android.support.constraint.Guideline
    android:id="@+id/guideline33"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_begin="20dp"
    app:layout_constraintGuide_percent="0.1" />
</android.support.constraint.ConstraintLayout>

它看起来像这样:

enter image description here


为使圆形按钮外观美观,可以使用自定义形状,创建新的可绘制文件:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
    android:angle="-90"
    android:centerColor="#F2F2F2"
    android:endColor="#ADA996"
    android:startColor="#DBDBDB" />
<stroke
    android:width="2dp"
    android:color="#000000" />
<corners android:radius="8dp" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />

现在将其应用于您的视图:

 android:background="@drawable/frame"

您已经拥有了自定义外观的视图:

enter image description here