java - 无法在两行中创建两个 TextView

标签 java android

这是一个相当外行的问题,因为我对 Android 开发完全陌生。

最近想用android实现一个简单的计算器。

我想做两行计算器显示, 最上面的显示用户输入的方程式, 和底部的答案。

这是我在布局 xml 文件中的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<LinearLayout
    android:id="@+id/linearLayout0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true">

    <TextView
        android:id="@+id/calculatorDisplay0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:maxLines="1"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="40sp" />
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" 
    android:layout_below="@+id/linearLayout0" >

    <TextView
        android:id="@+id/calculatorDisplay1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:layout_below="@id/calculatorDisplay0"
        android:maxLines="1"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="0"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="40sp" />
</LinearLayout>
     .
     .
     .
     .

然而,这是结果:

enter image description here

如您所见,这两行嵌套在一起。

我很确定我的代码有问题, 但我找不到它。 谁能帮我解决这个问题?

最佳答案

没有理由为每个 TextView 使用单独的线性布局 - 将它们放入一个垂直方向的布局中,一个接一个:

<LinearLayout
    android:id="@+id/linearLayout0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/calculatorDisplay0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:maxLines="1"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="40sp" />

    <TextView
        android:id="@+id/calculatorDisplay1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:maxLines="1"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="0"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="40sp" />
</LinearLayout>

另外,你有一些不必要的属性,我在你的回答中删除了这些属性。

关于java - 无法在两行中创建两个 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16212352/

相关文章:

android - 使线性布局可滚动

java - 在 Flink 中广播 HashMap

java - 为什么httpclient使用AESCipher

java - 假装: Retry depending on response status

java - 从 GWT 客户端调用 SOAP Web 服务

java - 构建 Android 项目时出现 Ant 错误 (com.android.sdklib.build.DuplicateFileException)

android - 如何在Flutter中修复在编译时和运行时具有不同版本的 'android.arch.lifecycle:runtime'?

android - 我可以使用后台任务每 1 秒处理一次来自服务器的数据吗?

android - 使用 Qt Creator 为 Android 构建 Qt 应用程序时出错

android - 如何在授予所有 Android M 权限的情况下运行单元测试?