如何使用FAB(浮动操作按钮)隐藏或显示我的编辑文本框?

时间:2015-10-16 12:54:21

标签: android android-layout android-fragments material-design androiddesignsupport

我是材料设计和插件以及一些功能的新手。有没有一个例子我可以查看或下载任何样本,告诉我如何隐藏/显示我的编辑文本框点击?这是我的代码:

<EditText
            android:id="@+id/messageEdit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/chatSendButton"
            android:autoText="true"
            android:hint="type message" />

        <Button
            android:id="@+id/chatSendButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:background="@color/background_floating_material_dark"
            android:text="Send MSG"
            android:textColor="@color/background_material_light"/>

我想要做的是在FAB中包含这个,所以当我点击fab按钮时,这个edittext视图(带按钮)会弹出,但一旦弹出它就会一直停留在那里直到我再次按下FAB按钮。已经实现的任何此类功能我可以遵循?我更喜欢最简单,最有效的方法。有线索吗?

1 个答案:

答案 0 :(得分:4)

您的FAB中不能包含这些视图。 用xml这样声明你的fab:

     <android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_edit"
    android:layout_gravity="right|bottom"
    android:id="@+id/edit"
    android:theme="@style/Widget.Design.FloatingActionButton" />

在您的活动中onCreate():

    FloatingActionButton edit = (FloatingActionButton)findViewById(R.id.edit);
    edit.setOnClickListener(new OnClickListener(){
     @Override
        public void onClick(View v) {
            EditText editText = (EditText)findViewById(R.id.messageEdit);
            if(editText.getVisibility() == View.VISIBLE)
            {
                editText.setVisibility(View.INVISIBLE);
            }
            else {
                editText.setVisibility(View.VISIBLE);
            }
        }
       });