我启动它时,我的应用程序对齐有问题

时间:2017-11-14 16:45:57

标签: java android android-layout

当我在我的设备上启动我的应用程序时,每个东西都从右到左排序,但是当我在模拟器上启动它时,它就会保持原样。我知道问题是我的设备的主要语言是希伯来语(希伯来语是一种你从右到左书写的语言),而模拟器的语言是英语。

图片1

this is how it shows on my device

图片2

this is how it is intended to be

我希望它在所有语言中都是一样的。

提前致谢

<?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"
tools:context="com.example.mahmood.morsecode.TextToMorse">

<EditText
    android:id="@+id/editText"
    android:layout_width="0dp"
    android:layout_height="180dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:ems="10"
    android:inputType="textMultiLine"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="0dp"
    android:layout_height="180dp"
    android:layout_marginBottom="80dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:ems="10"
    android:inputType="textMultiLine"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent" />

<LinearLayout
    android:layout_width="344dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:orientation="horizontal"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="BackSpace" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button" />

    <Button
        android:id="@+id/button7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Space" />
</LinearLayout>

</android.support.constraint.ConstraintLayout>

2 个答案:

答案 0 :(得分:0)

完成布局并将start更改为left,将end更改为right,例如将layout_marginStart更改为layout_marginLeft的位置。

这样做应该将您的布局更改为

<?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"
    tools:context="com.example.mahmood.morsecode.TextToMorse">

<EditText
    android:id="@+id/editText"
    android:layout_width="0dp"
    android:layout_height="180dp"
    android:layout_marginRight="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="8dp"
    android:ems="10"
    android:inputType="textMultiLine"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="0dp"
    android:layout_height="180dp"
    android:layout_marginBottom="80dp"
    android:layout_marginRight="8dp"
    android:layout_marginLeft="8dp"
    android:ems="10"
    android:inputType="textMultiLine"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent" />

<LinearLayout
    android:layout_width="344dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginLeft="8dp"
    android:orientation="horizontal"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintLeft_toLeftOf="parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="BackSpace" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button" />

    <Button
        android:id="@+id/button7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Space" />
</LinearLayout>

</android.support.constraint.ConstraintLayout>

答案 1 :(得分:0)

检查AndroidManifest.xml。默认情况下,Android Studio会将此属性添加到<application>标记:

android:supportsRtl="true"

将其更改为false,将忽略基于语言的布局方向。

文档:https://developer.android.com/guide/topics/manifest/application-element.html#supportsrtl