首页 > 解决方案 > 在 Android Studio 中添加文本到布局(初学者)

问题描述

我试图在我的布局中包含文本,但它没有出现在设计或蓝图中。在蓝图中,它只是显示为一个点(在图片中以红色圈出)。我尝试在我的手机上运行的“hello world”应用程序中打开默认文本,但同样的问题出现在 Android Studio 的布局中。

我正在关注此链接上的指南:https ://developer.android.com/training/basics/firstapp/building-ui 。

我已经包含了一个截图供参考。如果这有帮助,请注意模拟器没有在 Android Studio 中运行,并且当我选择 Pixel XL 5.5 屏幕时,布局/设计屏幕没有完全显示在窗口中(它太大,我无法向下滚动查看) .

我也没有得到蓝图中的方形框,如网页图 3 所示(上面的链接)。Android Studio 截图

编辑:以下是我的 activity_main.xml 文件的代码 -

<?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=".MainActivity">

<TextView
android:id="@+id/textView"
android:layout_width="36dp"
android:layout_height="0dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginLeft="32dp"
android:layout_marginStart="32dp"
android:layout_marginTop="32dp"
android:text="TextView"
app:layout_constraintDimensionRatio="h,1:3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

标签: android

解决方案


您的代码有几个问题。您正在使用 ConstraintLayouts,但您的约束有点混乱。首先TextView,您将topToTopOf约束设置为parent,这很好,但您的底部约束也设置为topOf parent。将您的底部约束更改为bottomToBottomOf parent. 像这样:

<TextView
    android:id="@+id/textView"
    android:layout_width="36dp"
    android:layout_height="0dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.0" />

在你的第二个TextView,你用dimensionRatio错了。它在ConstraintLayout 文档中声明,您只能在宽度和高度都设置为(又名)的H情况下使用此属性。例如,您已将 设置为,但这仅在您的宽度设置为(aka ) 时才有效。您应该设置宽度,明确设置高度,或者将您的更改为而不是WMATCH_CONSTRAINT0dpdimensionRatioh,1:30dpMATCH_CONSTRAINT0dpdimensionRatio1:3h,1:3


推荐阅读