在android studio中从右到左

bqf10yzr  于 2023-03-21  发布在  Android
关注(0)|答案(5)|浏览(150)

我正在使用Android Studio进行应用开发,但在屏幕中放置元素时遇到问题。
例如:我试图把一个按钮放在屏幕的右边,在工作室里,它显示在屏幕的右边,但是当我在智能手机上安装应用程序时,我看到它在屏幕的左边(我的智能手机是从右到左配置的)。
我该如何解决这个问题呢?(如果有问题,我使用RelativeLayout)。
谢谢!
illustration image

h4cxqtbf

h4cxqtbf1#

如果你包含了一些代码,那么你的问题会更容易回答,但是,假设你的按钮在一个充满屏幕的相对父布局中,把这个代码添加到你的按钮的xml代码中会使它右对齐:

android:layout_alignParentRight="true"

<Button
        android:id="@+id/btn"
        android:layout_width="145dp"
        android:layout_height="75dp"
        android:layout_alignParentRight="true"
        android:onClick="btnclick"
        android:text="Click!"
        android:textSize="30sp" />

或者,为了使操作更简单,将整个XML替换为:

<?xml version="1.0" encoding="utf-8"?>
<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:weightSum="1">

    <Button
        android:id="@+id/btn"
        android:layout_width="145dp"
        android:layout_height="75dp"
        android:onClick="btnclick"
        android:text="Click!"
        android:textSize="30sp" 
        android:layout_alignParentRight="true"/>

</RelativeLayout>
1tuwyuhd

1tuwyuhd2#

请求者的代码:

<?xml version="1.0" encoding="utf-8"?>
<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:weightSum="1"><![CDATA[
    android:splitMotionEvents="true"
    tools:context="tomer.newapp.MainActivity"
    tools:layout_editor_absoluteY="81dp"
    tools:layout_editor_absoluteX="0dp">



    ]]>


    <Button
        android:id="@+id/btn"
        android:layout_width="145dp"
        android:layout_height="75dp"
        android:layout_column="2"
        android:layout_row="2"
        android:onClick="btnclick"
        android:text="Click!"
        android:textSize="30sp"
        tools:layout_editor_absoluteX="223dp"
        tools:layout_editor_absoluteY="140dp"
        android:layout_marginLeft="11dp"
        android:layout_marginStart="11dp"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

</RelativeLayout>
jgwigjjp

jgwigjjp3#

请注意,您使用的绝对值位于tools命名空间中-这意味着它们不会编译到您的应用中。

tools:layout_editor_absoluteX="223dp"
tools:layout_editor_absoluteY="140dp"

这可能就是为什么你会得到这种行为。删除它们,然后看看按钮是否移动到屏幕的左侧。
有关tools命名空间-here的更多信息

rggaifut

rggaifut4#

你提到了“(我的智能手机是从右到左配置的)"。
这可能是个错误的答案,但是...
对于layout_editor,“gravity”或“layout_gravity”属性都有“right”、“left”或“start”和“end”。在英语中,从左边开始书写,在右边结束。例如,在阿拉伯语中,从右边开始书写,在左边结束书写。您的属性是否会显示“end”,而不是“right”?

new9mtju

new9mtju5#

我用下面这句话解决了这个问题:android:layoutDirection="ltr"在布局部分的xml中。它保持了UI中的布局顺序。

相关问题