为了账号安全,请及时绑定邮箱和手机立即绑定

将相对布局转换为线性布局

将相对布局转换为线性布局

有只小跳蛙 2023-05-17 15:04:20
我正在开发一个 Android 应用程序,对于图形部分,我正在使用有用的 Android Studio 编辑器。这意味着我正在使用边距命令移动对象,使它们完美适合 Google Pixel C 屏幕。现在我在平板电脑上试用了这个应用程序,当然,它不起作用。我读到我应该使用线性布局,但我认为我想要转换的代码不遵守它的规则,因为我在每一行和不同的位置都有元素。我如何用线性布局来表示它?这是代码,您可以看到它为每个元素指定了边距。<?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="fill_parent"    android:layout_height="fill_parent"    android:background="@drawable/background_main"    android:scaleType = "centerCrop"    tools:context=".MainActivity">    <TextView        android:id="@+id/textView2"        android:layout_width="1063dp"        android:layout_height="476dp"        android:layout_marginLeft="275dp"        android:layout_marginTop="200dp"        android:fontFamily="@font/kotta_one"        android:text="Test del pensiero\n      divergente"        android:textColor="#000000"        android:textSize="100dp"        android:textStyle="bold"        tools:layout_editor_absoluteX="78dp"        tools:layout_editor_absoluteY="123dp" />    <Button        android:id="@+id/button_1"        android:layout_width="200dp"        android:layout_height="50dp"        android:layout_marginLeft="400dp"        android:layout_marginTop="480dp"        android:background="@drawable/button_bg"        android:text="@string/invioA"        android:textAllCaps="false"        android:textColor="#FFFFFF"        android:textSize="18dp"        app:layout_constraintVertical_bias="0.771" /></RelativeLayout>
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

好的,试试这个:


<LinearLayout 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="wrap_content"

android:background="@drawable/bg"

android:orientation="vertical">


<Button

    android:id="@+id/button_3"

    android:layout_width="90dp"

    android:layout_height="70dp"

    android:background="@android:color/transparent"

    android:text="Area\nDocenti"

    android:textAllCaps="false"

    android:textColor="#030000"

    android:textSize="24dp"

    app:layout_constraintVertical_bias="0.771" />



<RelativeLayout

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_gravity="center"

    android:layout_marginTop="200dp">


    <TextView

        android:id="@+id/textView2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginBottom="30dp"

        android:fontFamily="@font/kotta_one"

        android:text="Test del pensiero\n      divergente"

        android:textColor="#000000"

        android:textSize="100dp"

        android:textStyle="bold" />


    <LinearLayout

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_below="@+id/textView2"

        android:layout_centerInParent="true"

        android:orientation="horizontal">


        <Button

            android:id="@+id/button_1"

            android:layout_width="200dp"

            android:layout_height="50dp"

            android:layout_marginRight="40dp"

            android:background="@android:color/black"

            android:text="Protocollo A"

            android:textAllCaps="false"

            android:textColor="#FFFFFF"

            android:textSize="18dp"

            app:layout_constraintVertical_bias="0.771" />


        <Button

            android:id="@+id/button_2"

            android:layout_width="200dp"

            android:layout_height="50dp"

            android:layout_marginLeft="40dp"

            android:background="@android:color/black"

            android:text="Protocollo B"

            android:textAllCaps="false"

            android:textColor="#FFFFFF"

            android:textSize="18dp"

            app:layout_constraintVertical_bias="0.771" />


    </LinearLayout>

</RelativeLayout>



查看完整回答
反对 回复 2023-05-17
?
心有法竹

TA贡献1866条经验 获得超5个赞

我认为你最好的选择是使用ConstraintLayout

但是 LinearLayout 的一些快速和 hacky:

<LinearLayout

  android:layout_width="match_parent"

  android:layout_height="match_parent"

  android:orientation="vertical" >


    <Button

        android:id="@+id/button_3"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_gravity="start"

        android:layout_margin_start="20dp"

        android:background="@android:color/transparent"

        android:fontFamily="@font/kotta_one"

        android:text="Area\nDocenti"

        android:textAllCaps="false"

        android:textColor="#030000"

        android:textSize="24dp"/>


   <LinearLayout

     android:layout_width="wrap_content"

     android:layout_height="wrap_content"

     android:orientation="vertical" 

     android:layout_gravity="centre"

     android:gravity="centre">

       <TextView

        android:id="@+id/textView2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:fontFamily="@font/kotta_one"

        android:text="Test del pensiero"

        android:textColor="#000000"

        android:textSize="100dp"

        android:textStyle="bold"/>

      <TextView

        android:id="@+id/textView2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:fontFamily="@font/kotta_one"

        android:text="divergente"

        android:textColor="#000000"

        android:textSize="100dp"

        android:textStyle="bold"/>


      <LinearLayout

         android:layout_width="wrap_content"

         android:layout_height="wrap_content"

         android:orientation="horizontal">


                 <Button

                   android:id="@+id/button_1"

                   android:layout_width="wrap_content"

                   android:layout_height="wrap_content"

                   android:background="@drawable/button_bg"

                   android:text="@string/invioA"

                   android:textAllCaps="false"

                   android:textColor="#FFFFFF"

                   android:textSize="18dp"/>


                <Button

                   android:id="@+id/button_2"

                   android:layout_width="wrap_content"

                   android:layout_height="wrap_content"

                   android:background="@drawable/button_bg"

                   android:text="@string/invioB"

                   android:textAllCaps="false"

                   android:textColor="#FFFFFF"

                   android:textSize="18dp"/>

      </LinearLayout>

   </LinearLayout>

</LinearLayout>

这可能不是完美的,因为我只是徒手写的,但我认为它让你很好地了解你可以做什么。


查看完整回答
反对 回复 2023-05-17
  • 2 回答
  • 0 关注
  • 254 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信