Android视图永远不会消失

时间:2019-08-06 11:56:26

标签: android xml view

我正在尝试提出一些观点。这是XML代码:


<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">


    <Button
            android:text="See More Like This"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/recommender"
            tools:visibility="invisible"
            android:layout_marginEnd="24dp" android:layout_marginRight="24dp" android:layout_marginBottom="20dp"
            app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toTopOf="@+id/imageView"/>
    <TextView
            android:text="https://www.google.com"
            android:layout_width="169dp"
            android:layout_height="50dp"
            android:autoLink="web"
            android:linksClickable="true"
            android:id="@+id/urlDisplay"
            tools:visibility="invisible"
            app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
            android:layout_marginLeft="24dp" android:layout_marginTop="101dp" android:layout_marginStart="24dp"/>

    <TextView
            android:text="TextView"
            android:layout_width="0dp"
            android:layout_height="59dp"
            android:id="@+id/comicTitle" tools:visibility="invisible"
            android:layout_marginTop="21dp" android:layout_marginBottom="21dp" app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintBottom_toTopOf="@+id/urlDisplay" app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="40dp"
            android:layout_marginStart="40dp" android:layout_marginEnd="40dp" android:layout_marginRight="40dp"/>

</android.support.constraint.ConstraintLayout>

除样板外,没有kotlin代码。启动应用程序时,所有视图都是可见的。考虑到我已将它们明确设置为在xml中不可见,所以我不知道这是怎么发生的。

如何使它们不可见?

4 个答案:

答案 0 :(得分:6)

阅读Tools attributes reference

  

Android Studio在工具中支持各种XML属性   启用设计时功能(例如,要布局的布局)的名称空间   片段中显示)或编译时行为(例如缩小的行为)   模式以应用于您的XML资源)。当您构建应用时,   构建工具会删除这些属性,因此不会对您的APK产生影响   大小或运行时行为。

您应该使用 android:visibility="invisible" 而不是tools:visibility="invisible"

答案 1 :(得分:2)

使用finally

tools

只需将tools:visibility="invisible" 替换为tools,即可开始正常工作

android

答案 2 :(得分:2)

您已使用android:visibility="invisible" 使用tools:visibility="invisible"使您的视图不可见。

答案 3 :(得分:1)

您已在xml中设置了tools:visibility="invisible",这基本上是Android Studio支持的工具名称空间 Android Studio在工具名称空间中支持启用设计时功能的各种XML属性。

在构建应用时,构建工具会删除这些属性,因此不会影响APK的大小或运行时行为。因此,当您运行该应用程序时,这些属性不会起作用。

您可以在official android dev docs

中了解有关工具属性的更多信息

根据评论中的建议,您应该设置android:visibility="invisible"