【问题标题】:how to hide nested layout in android?如何在android中隐藏嵌套布局?
【发布时间】:2015-08-10 11:19:01
【问题描述】:

我的应用程序中有一个线性布局,因为我使用一个根布局(invitation_single)和一个嵌套布局(隐藏)。当我在运行时单击根布局时,嵌套布局可见(它包含“是的,不,也许”按钮)成功。现在我需要的是,如果我在之前的布局值(考虑事件 1)下面有类似的布局值(考虑事件 2),当我点击“事件 2”时,我需要隐藏嵌套布局“事件1”(目前当我点击按钮时嵌套布局消失了)自动。我怎么能做到这一点..这是我的布局代码,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/invitation_single"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="?android:dividerVertical"
    android:dividerPadding="5dp"
    android:showDividers="middle"
    tools:context=".MainActivity">

    <ImageButton
        android:id="@+id/image"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:src="@drawable/ic_action_event" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:clickable="false"
        android:focusable="true"
        android:orientation="vertical">

        <TextView
            android:id="@+id/invitation_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="5dp"
            android:paddingRight="0dp"
            android:paddingTop="3dp"
            android:textColor="@color/black"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/invitation_place"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="5dp"
            android:paddingRight="0dp"
            android:textColor="@color/black"
            android:textSize="15sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/hidden"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_marginLeft="-270dp"
        android:layout_marginTop="60dp"
        android:layout_weight="1"
        android:clickable="true"
        android:focusable="true"
        android:orientation="horizontal"
        android:paddingTop="1dp"
        android:visibility="gone"
        android:weightSum="3">


        <Button
            android:id="@+id/yesbutton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_marginLeft="7dp"
            android:layout_weight="1"
            android:background="@color/blue"
            android:text="Yes"
            android:textColor="@color/black"></Button>

        <Button
            android:id="@+id/nobutton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_marginLeft="25dp"
            android:layout_weight="1"
            android:background="@color/blue"
            android:text="No"
            android:textColor="@color/black"></Button>

        <Button
            android:id="@+id/buttonmaybe"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_marginLeft="25dp"
            android:layout_marginRight="10dp"
            android:layout_weight="1"
            android:background="@color/blue"
            android:text="Maybe"
            android:textColor="@color/black"></Button>

    </LinearLayout>


</LinearLayout>

我的编程代码如下,

final LinearLayout first = (LinearLayout) convertView.findViewById(R.id.invitation_single);
final LinearLayout second = (LinearLayout) convertView.findViewById(R.id.hidden);
first.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.invitation_single:
                second.setVisibility(View.VISIBLE);
            break;
        }
    }
});

【问题讨论】:

  • 你到底想要什么说清楚
  • 你能检查一下吗?stackoverflow.com/questions/31893126/…对此给出了详细的期望
  • 你查过那个帖子了吗?
  • 是的,我确实检查过了,但我想要它以简单的方式
  • 该帖子的第一张图片解释了,如果我点击“事件 1”,三个按钮将立即显示在下方,请考虑当我点击该事件时是否有“事件 2”之前布局的按钮需要隐藏..这是我的需要。

标签: android android-layout android-activity


【解决方案1】:

这是你要找的吗?

first.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.invitation_single:
                second.setVisibility(second.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
            break;
        }
    }
});

【讨论】:

猜你喜欢
  • 2016-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-31
  • 2015-10-31
  • 2011-06-07
  • 1970-01-01
相关资源
最近更新 更多