首页 > 解决方案 > 我正在努力让我的 Android 项目视图响应不同尺寸的屏幕

问题描述

好的,所以我一直在与 android 的设计方面斗争一段时间。我不确定这是否属于这里或代码审查,因为我也在寻求建议,虽然布局没有重大问题/错误,但它没有产生预期的结果我在 Kotlin 和更多方面变得更好结束编码,但让我的视觉布局获得预期的结果似乎对我不起作用。

所以我有一个用于回收查看项目的 item.xml 文件。我尝试在宽度上使用匹配父级并排视图、odp、包装内容、匹配约束将宽度归零。这就是我挣扎的程度我什至想知道我是否正确地解释了自己

建议;

小屏幕与大屏幕 - 我看到很多相互矛盾的说法,有人说你不应该只在更大的屏幕上做大,什么时候应该,什么时候不应该?

我想要达到的目标;

就目前而言,我下面的视图具有固定的宽度和高度,我个人希望它按比例适合屏幕,以便完全适应屏幕的大小,但不同的文本视图确实值得不同的权重,我想我读的是线性布局,但随后线性布局我无法理解如何在视图末尾获取 2x2 网格

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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="wrap_content"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="@drawable/rv_lines"
    android:gravity="center_vertical">
    <TextView
        android:id="@+id/TV_RV_ID"
        android:layout_width="40dp"
        android:layout_height="40dp"
        app:layout_constraintBottom_toBottomOf="@+id/TV_RV_QCOUNT_TEXT"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/TV_RV_OutOfText" />
    <TextView
        android:id="@+id/TV_RV_DIFFICULTY"
        android:layout_width="85dp"
        android:layout_height="30dp"
        android:layout_marginStart="8dp"
        app:layout_constraintBaseline_toBaselineOf="@+id/TV_RV_ID"
        app:layout_constraintStart_toEndOf="@+id/TV_RV_ID" />
    <TextView
        android:id="@+id/TV_RV_SUMTYPE"
        android:layout_width="70dp"
        android:layout_height="30dp"
        android:layout_marginStart="8dp"
        app:layout_constraintBaseline_toBaselineOf="@+id/TV_RV_DIFFICULTY"
        app:layout_constraintStart_toEndOf="@+id/TV_RV_DIFFICULTY" />
    <TextView
        android:id="@+id/TV_RV_OutOfText"
        android:layout_width="50dp"
        android:layout_height="40dp"
        android:layout_marginStart="8dp"
        android:text="@string/score_text"
        app:layout_constraintStart_toEndOf="@+id/TV_RV_SUMTYPE"
        app:layout_constraintTop_toTopOf="parent" />
    <TextView
        android:id="@+id/TV_RV_SCORE"
        android:layout_width="50dp"
        android:layout_height="30dp"
        android:layout_marginStart="8dp"
        app:layout_constraintBaseline_toBaselineOf="@+id/TV_RV_OutOfText"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/TV_RV_OutOfText" />
    <TextView
        android:id="@+id/TV_RV_QCOUNT_TEXT"
        android:layout_width="50dp"
        android:layout_height="40dp"
        android:layout_marginStart="8dp"
        android:text="@string/questions_text"
        android:textAlignment="gravity"
        app:layout_constraintStart_toEndOf="@+id/TV_RV_SUMTYPE"
        app:layout_constraintTop_toBottomOf="@+id/TV_RV_OutOfText" />
    <TextView
        android:id="@+id/TV_RV_QCOUNT"
        android:layout_width="50dp"
        android:layout_height="30dp"
        android:layout_marginStart="8dp"
        app:layout_constraintBaseline_toBaselineOf="@+id/TV_RV_QCOUNT_TEXT"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/TV_RV_QCOUNT_TEXT" />
</androidx.constraintlayout.widget.ConstraintLayout>

只是一些关于不同文本视图的附加信息。第一个是来自数据库的整数记录 ID。其次是从容易到不可能的字符串。第三个是数学符号或“随机”一词。然后 2x2 字段是小文本字符串,旁边有一个字段显示 0-99

标签: androiddynamicandroid-constraintlayout

解决方案


推荐阅读