Как исправить проблему с выравниванием в приложении для Android - PullRequest
0 голосов
/ 15 декабря 2018

Я новичок в разработке для Android, и в настоящее время я создаю проект в Android Studio, поэтому я создал страницу входа в систему с 1 небольшим изображением, 2 текстовыми полями и 1 кнопкой, но я хочу, чтобы они совпали во всех типах устройств, таких каккогда я попробовал на своем устройстве, которое является 5-дюймовым экраном Redmi 3s, он выглядит хорошо, но когда я попробовал на других устройствах, похоже, что выравнивание не правильно, так что кто-нибудь может сказать мне, как я могу установить выравнивание для устройств любого размера экрана (т.е.4,5 дюйма, 5 дюймов, 5,5 дюйма, 6 дюймов и т. Д.).

Заранее спасибо

Вот код:

<RelativeLayout
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"
android:hardwareAccelerated="true"
android:background="@color/white"
tools:context=".MainActivity">

<View
    android:id="@+id/view2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="0dp"
    android:layout_marginTop="0dp"
    android:hardwareAccelerated="true" />


<ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="37dp"
    android:background="@color/blend"
    android:contentDescription="@string/todo"
    app:srcCompat="@drawable/imagelogo" />

<EditText
    android:id="@+id/editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginStart="58dp"
    android:layout_marginBottom="294dp"
    android:ems="10"
    android:hint="@string/User_name"
    android:inputType="text" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginEnd="147dp"
    android:layout_marginBottom="227dp"
    android:ems="10"
    android:hint="@string/Pass_word"
    android:inputType="textPassword" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginStart="97dp"
    android:layout_marginBottom="138dp"
    android:ems="13"
    android:background="@color/colorPrimary"
    android:text="@string/login" />

и вывод: Дизайн + План

Так что я хочу, чтобы все мои вещи были в одном месте на всех типах устройств

1 Ответ

0 голосов
/ 15 декабря 2018

Добавьте ниже в свой проектный файл Gradle:

compile 'com.intuit.sdp:sdp-android:1.0.5'

Использование: В коде, где бы вы ни указали размеры, такие как 10dp , измените его на @ dimension / _10sdp .Как я указал в этом примере ImageView.

        <ImageView
            android:id="@+id/your_image"
            android:layout_marginTop="@dimen/_10sdp"
            android:layout_marginBottom="@dimen/_10sdp"
            android:layout_width="@dimen/_100sdp"
            android:layout_height="@dimen/_100sdp"
            android:src="@drawable/logo"/>

Это сделает ваше приложение одинаковым на разных устройствах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...