猿问

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

我正在开发一个 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>

有只小跳蛙
浏览 255回答 2
2回答

哆啦的时光机

好的,试试这个:<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&nbsp; &nbsp; android:id="@+id/button_3"&nbsp; &nbsp; android:layout_width="90dp"&nbsp; &nbsp; android:layout_height="70dp"&nbsp; &nbsp; android:background="@android:color/transparent"&nbsp; &nbsp; android:text="Area\nDocenti"&nbsp; &nbsp; android:textAllCaps="false"&nbsp; &nbsp; android:textColor="#030000"&nbsp; &nbsp; android:textSize="24dp"&nbsp; &nbsp; app:layout_constraintVertical_bias="0.771" /><RelativeLayout&nbsp; &nbsp; android:layout_width="wrap_content"&nbsp; &nbsp; android:layout_height="wrap_content"&nbsp; &nbsp; android:layout_gravity="center"&nbsp; &nbsp; android:layout_marginTop="200dp">&nbsp; &nbsp; <TextView&nbsp; &nbsp; &nbsp; &nbsp; android:id="@+id/textView2"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_width="wrap_content"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_height="wrap_content"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_marginBottom="30dp"&nbsp; &nbsp; &nbsp; &nbsp; android:fontFamily="@font/kotta_one"&nbsp; &nbsp; &nbsp; &nbsp; android:text="Test del pensiero\n&nbsp; &nbsp; &nbsp; divergente"&nbsp; &nbsp; &nbsp; &nbsp; android:textColor="#000000"&nbsp; &nbsp; &nbsp; &nbsp; android:textSize="100dp"&nbsp; &nbsp; &nbsp; &nbsp; android:textStyle="bold" />&nbsp; &nbsp; <LinearLayout&nbsp; &nbsp; &nbsp; &nbsp; android:layout_width="wrap_content"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_height="wrap_content"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_below="@+id/textView2"&nbsp; &nbsp; &nbsp; &nbsp; android:layout_centerInParent="true"&nbsp; &nbsp; &nbsp; &nbsp; android:orientation="horizontal">&nbsp; &nbsp; &nbsp; &nbsp; <Button&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:id="@+id/button_1"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_width="200dp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_height="50dp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_marginRight="40dp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:background="@android:color/black"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:text="Protocollo A"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:textAllCaps="false"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:textColor="#FFFFFF"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:textSize="18dp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; app:layout_constraintVertical_bias="0.771" />&nbsp; &nbsp; &nbsp; &nbsp; <Button&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:id="@+id/button_2"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_width="200dp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_height="50dp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_marginLeft="40dp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:background="@android:color/black"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:text="Protocollo B"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:textAllCaps="false"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:textColor="#FFFFFF"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:textSize="18dp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; app:layout_constraintVertical_bias="0.771" />&nbsp; &nbsp; </LinearLayout></RelativeLayout>

心有法竹

我认为你最好的选择是使用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>这可能不是完美的,因为我只是徒手写的,但我认为它让你很好地了解你可以做什么。
随时随地看视频慕课网APP

相关分类

Java
我要回答