android - 在 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>
解决方案
您的代码有几个问题。您正在使用 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 ) 时才有效。您应该设置宽度,明确设置高度,或者将您的更改为而不是W
MATCH_CONSTRAINT
0dp
dimensionRatio
h,1:3
0dp
MATCH_CONSTRAINT
0dp
dimensionRatio
1:3
h,1:3
推荐阅读
- python - Python - 单线程执行器已被使用,会死锁
- android-youtube-api - Youtube Android Player API 4k 直播不工作:错误屏幕演示者应该存在
- postgresql - 在 PostgreSQL 上执行查询的表名周围是否必须使用“”?
- java - ZGC是否支持UseGCOverheadLimit?
- swift - Swift 5 中带有动态 URL 的 WKWebView 明暗模式
- c++ - IMFTransfomer::ProcessInput() 和 MF_E_TRANSFORM_NEED_MORE_INPUT
- unity3d - 有一个问题,统一上的屏幕棒组件不再被拖动
- pyspark - Databricks 中的集群资源使用情况
- python - 爬取 0 个页面,抓取 0 个项目 ERROR / webscraping / SELENIUM
- c++ - Kits 错误,Desktop_Qt_6_2_1_MSVC2019_64bit,我如何在 Qt creator 上使用 Visual Studio 编译器?