在其他视图上浮动按钮 - Android

时间:2017-06-18 21:35:19

标签: android floating

我想创建一个能够显示在EditText以上的按钮或视图 单击时,将对该特定焦点user;position userA;1 userA;2 userA;3 userB;1 userC;1 userC;1 执行某些操作。我不知道它是如何调用的,或者是否有任何3d派对库可以执行此操作。

1 个答案:

答案 0 :(得分:0)

RelativeLayouts在这里发挥重要作用时,因为你可以将视图定位在另一个视图上,而视图在焦点上方,反之亦然。首先,您要将Android的最新支持设计库编译到本地build.gradle文件中以使用FAB,然后对布局文件执行类似的操作:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusable="true"
    android:focusableInTouchMode="true"
    tools:context="com.davenotdavid.stackoverflow.MainActivity">

    <EditText
        android:id="@+id/et1"
        android:hint="HINT..."
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/et2"
        android:hint="HINT..."
        android:layout_below="@id/et1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/et3"
        android:hint="HINT..."
        android:layout_below="@id/et2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content" />

</RelativeLayout>

...然后可能通过在onCreate()中显示Toast消息(而不是EditText键盘弹出)来测试FAB是否专注于焦点EditText,如下所示:

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

    findViewById(R.id.fab).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this, "FAB clicked", Toast.LENGTH_SHORT).show();
        }
    });
}