为啥布局不会变得不可见?

Posted

技术标签:

【中文标题】为啥布局不会变得不可见?【英文标题】:Why layout does not become invisible?为什么布局不会变得不可见? 【发布时间】:2015-09-25 22:50:52 【问题描述】:

所以我的布局仍然可见,也许有人看到错误?我想在单击 infoButton(imagebutton) 时将其消失。

FrameLayout infolayout;
infolayout = (FrameLayout) findViewById(R.id.infoLayout);
public void infoPressed(View v)//info button is pressed by user
        //infoLayout.setVisibility(View.GONE); 

        infolayout.setVisibility(View.INVISIBLE);
    

    <FrameLayout
    android:layout_
    android:layout_
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignBottom="@+id/serviceLayout"
    android:id="@+id/infoLayout">

我看了:How to change visibility of layout programaticly

编辑: 错误的代码部分,仍然不适合我

【问题讨论】:

也许 id 是 serviceLayout 而不是 R.id.infoLayout 你在哪里为你的按钮添加监听器?? '' 【参考方案1】:

如果您的 ID 声明正确,我想您必须更改该行

infolayout.setVisibility(View.INVISIBLE);

infolayout.setVisibility(FrameLayout.INVISIBLE);

【讨论】:

【参考方案2】:

*试试这个**

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context="com.example.demo.MainActivity" >

<FrameLayout
    android:id="@+id/serviceLayout"
    android:layout_
    android:layout_
    android:background="#000000" />

<Button
    android:id="@+id/btnHide"
    android:layout_
    android:layout_
    android:layout_alignParentBottom="true"
    android:onClick="infoPressed"
    android:text="Hide" />

</RelativeLayout>

MainActivity.java

public class MainActivity extends Activity


    FrameLayout infolayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        infolayout = (FrameLayout) findViewById(R.id.serviceLayout);
    

    public void infoPressed(View v) //info button is pressed by user
    //infoLayout.setVisibility(View.GONE); 

        infolayout.setVisibility(View.INVISIBLE);
    



【讨论】:

我的代码没有区别,我也有同样的s**t:/ 您使用的是 infoLayout 而不是 serviceLayout 请检查您的代码 我改了...再看一遍 发现错误:schemas.android.com/apk/res/android" xmlns:tools="schemas.android.com/tools" android:layout_ android:layout_ android:paddingLeft=" 0dp" android:scaleType="fitEnd" android:paddingRight="0dp" android:paddingTop="1dp" android:paddingBottom="10dp" 工具:context=".MainActivity" android:id="@+id/activity_main" >这很糟糕,如何解决? xmlns:android="schemas.android.com/apk/res/android"; xmlns:tools="schemas.android.com/tools"; android:layout_ android:layout_

以上是关于为啥布局不会变得不可见?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Prometheus 不会在不可见的指标上引发错误?

使用自动布局使视图至少达到最小尺寸或不可见

为膨胀的布局设置视图的可见性消失

在 RecyclerView 中滚动时不可见的项目变得可见

GCP 秘密版本在变得不可见之前会保持销毁状态多长时间?

Android:隐形和消失的区别?