首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FloatingActionButton可见一段时间,即使可见性设置为消失

FloatingActionButton可见一段时间,即使可见性设置为消失
EN

Stack Overflow用户
提问于 2015-09-23 06:55:22
回答 3查看 4.6K关注 0票数 2

我的LinearLayout中有一个FAB (LinearLayout)。我希望LinearLayout是隐藏的,即最初设置的可见性,在单击菜单按钮时,它应该是可见的。一切都很好,但FAB在隐藏自己之前的某一段时间内仍然可见。我尝试了各种方法,从更改FAB的可见性到使用hide()和show(),但都没有效果。

我有以下的链接,但由于某些原因,它们不适合我。

  1. FloatingActionButton always visible
  2. Gone FAB becames visible for a while
  3. FloatingActionButton doesn't hide

我的activity_main.xml:

代码语言:javascript
运行
复制
<android.support.v4.widget.DrawerLayout
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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.wolfarts.checklist2.MainActivity">

    <android.support.v7.widget.Toolbar 
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:elevation="0dp"
        android:paddingTop="24dp"
        android:theme="@style/MyToolbarStyle">

            <Spinner
                android:id="@+id/spinner_nav"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                style="@style/Base.TextAppearance.AppCompat.Title"
                android:visibility="gone"/>

    </android.support.v7.widget.Toolbar>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:id="@+id/emptyStateView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"   
            android:orientation="vertical"
            android:gravity="center">

           <ImageView
                android:src="@drawable/emptystatebag"
                android:layout_marginTop="-30dp"
                android:layout_gravity = "center"
                android:layout_height="170dp"
                android:layout_width="300dp"/>

           <TextView
                android:paddingTop="8dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:gravity = "center"
                android:text="Nothing here. Try Adding Something."
                android:textColor="#B8B8B8"
                android:textSize="18sp"/>

           </LinearLayout>

        <android.support.design.widget.CoordinatorLayout 
            android:id="@+id/maincontainer"  
            android:layout_width="match_parent"
            android:layout_height="match_parent">

                <LinearLayout
                    android:orientation="vertical"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:animateLayoutChanges="true">

                        <LinearLayout
                            android:id="@+id/toolbarContent"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:orientation="vertical"
                            android:paddingLeft="72dp"
                            android:paddingStart="72dp"
                            android:paddingRight="18dp"
                            android:paddingEnd="18dp"
                            android:paddingBottom="80dp"
                            android:visibility="gone"
                            android:elevation="4dp"
                            android:descendantFocusability="beforeDescendants"
                            android:focusableInTouchMode="true">

                            <android.support.design.widget.TextInputLayout
                                android:id="@+id/username_text_input_layout"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:textColorHint="#B3FFFFFF"
                                android:layout_gravity="center_vertical">

                                <EditText
                                    android:id="@+id/taskName"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:textSize="35sp"
                                    android:maxLines="1"
                                    android:hint="Item Name"/>

                            </android.support.design.widget.TextInputLayout>

                        </LinearLayout>

                        <com.wolfarts.checklist2.CustomRecyclerView
                            android:id="@+id/taskListRecyclerView"
                            android:layout_height="match_parent"
                            android:layout_width="match_parent"/>

            </LinearLayout>

            <android.support.design.widget.FloatingActionButton
                android:id="@+id/fab"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="16dp"
                android:paddingLeft="16dp"
                android:clickable="true"
                android:src="@drawable/ic_done_white_24dp"
                app:layout_anchor="@id/toolbarContent"
                app:layout_anchorGravity="bottom|right|end"
                app:backgroundTint="@color/orange"
                android:visibility="gone"
                app:elevation="8dp"/>

        </android.support.design.widget.CoordinatorLayout>

    </FrameLayout>

</LinearLayout>



<LinearLayout
    android:id="@+id/navDrawer"
    android:layout_width="280dp"
    android:layout_height="match_parent"
    android:layout_gravity="left|start">

    <ListView
        android:id="@+id/navList"
        android:paddingTop="24dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:background="#ffeeeeee"/>

</LinearLayout>

这是FAB的窃听器吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-24 06:54:24

代码语言:javascript
运行
复制
        CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams)    fab.getLayoutParams();
        p.setAnchorId(View.NO_ID);
        p.width = 0;
        p.height = 0;
        fab.setLayoutParams(p);
        fab.setVisibility(View.GONE);
票数 5
EN

Stack Overflow用户

发布于 2015-09-23 09:37:46

你试过这个吗?:FloatingActionButton doesn't hide移除锚似乎影响了FAB的setVisibility。

票数 0
EN

Stack Overflow用户

发布于 2016-04-01 07:39:27

我也面临同样的问题,在躲藏之前,浮动动作按钮出现了一段时间。第一件事,你应该做的是移除锚重力,锚,并将其高度和宽度设置为0在布局。

当您想要使其可见时,将高度、宽度、锚、锚重力按计划设置如下:

代码语言:javascript
运行
复制
  CoordinatorLayout.LayoutParams p = new CoordinatorLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);

   p.setAnchorId(R.id.appbar);
   p.anchorGravity = Gravity.BOTTOM|Gravity.END|Gravity.RIGHT;
   fab.setLayoutParams(p);
   fab.setVisibility(View.VISIBLE);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32732932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档