如何在Android中以编程方式隐藏布局/视图

时间:2015-04-04 17:48:28

标签: android android-layout android-view

我刚开始学习Android。我对XML中的布局几乎没有什么困惑

  1. 我在布局中定义的所有视图是否基本上都是夸大的,或者它们是可选的?假设我在视图组中有两个不同的视图,但我想 有条件地仅使用第一个或仅第二个。有可能吗?

  2. 动态创建的视图如何处理layout.XML 文件?

  3. 如果我希望收到的消息显示为红色并以黑色发送消息,我该怎么办?

2 个答案:

答案 0 :(得分:6)

您可以在XML布局文件中包含不可见的视图,直到您以编程方式显示它们。只需使用" android:visible ="去掉#34;或" android:visible ="隐形"在XML文件中。

例如,我最初在我的布局文件中包含以下内容,但它不可见:

    <LinearLayout
        android:id="@+id/pnlLatLong"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:visibility="gone"
        >
        <TextView
            android:id="@+id/lblLatLng"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/lat_long"
            />
        <EditText
            android:id="@+id/txtLatitude"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal|numberSigned"
            />
        <EditText
            android:id="@+id/txtLongitude"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal|numberSigned"
            />
    </LinearLayout>

在Java代码中,当代码逻辑指示它应该是可见的时,我以编程方式将可见性更改为:

    View v = findViewById(R.id.pnlLatLng);
    v.setVisibility(View.VISIBLE);

答案 1 :(得分:1)

你可以在xml中设置android:visibility =“gone”或者通过代码setVisibility(View.gone)设置;对于更改文本颜色,您可以设置android:text color =“#000000”或代码setTextColor();