Android Studio 入门:(五) 悬浮按钮增加联系人信息

一、初步认识

FloatingActionButton:布局文件引入,继承自ImageView

属性:

app:backgroundTint 正常的背景颜色
app:rippleColor 按下时的背景颜色
app:layout_anchor 设置FAB的锚点,即以哪个控件为参照设置位置
app:layout_anchorGravity FAB相对于锚点的位置
android:clickable 一定要设置成true否则没有点击效果

二、代码

/*
 * @FileName: 
 * @Description: 
 * @version: 
 * @Date: 2020-05-06 22:36:52
 * @Author: 
 * @Email: [email protected]
 * @LastEditors: wwj
 * @LastEditTime: 2020-05-06 22:38:01
 */
package com.example.wx.myapplication;


import android.app.Fragment;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.AlertDialogLayout;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;

import java.util.ArrayList;
import java.util.List;

public class contactFrament extends Fragment {
    private static final String TAG = contactFrament.class.getSimpleName();
    private List mList = new ArrayList<>();
    private RecyclerView rcvExpandCollapse;
    private Context context;
    private ListuserAccounts;
    public contactFrament() {
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.tab_03, container, false);

        context = this.getActivity();

        rcvExpandCollapse = view.findViewById(R.id.recycleview2);//获取RecyclerView对象
        userAccounts = new ArrayList<>();


        final ExpandCollapseAdapter adapter = new ExpandCollapseAdapter(context, userAccounts);

        LinearLayoutManager manager = new LinearLayoutManager(context);
        rcvExpandCollapse.setLayoutManager(manager);
        rcvExpandCollapse.setHasFixedSize(true);
        DividerItemDecoration D = new DividerItemDecoration(context, DividerItemDecoration.VERTICAL);
        rcvExpandCollapse.addItemDecoration(D);
        rcvExpandCollapse.setAdapter(adapter);
        adapter.setExpandCollapseDataList(userAccounts);
        FloatingActionButton fab =view.findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View view1 = LayoutInflater.from(context).inflate(R.layout.dialogview,null,false);
                final EditText edname = view1.findViewById(R.id.ed_name);
                final EditText edtel = view1.findViewById(R.id.ed_tel);
                final EditText edmail = view1.findViewById(R.id.ed_mail);

                new AlertDialog.Builder(context)
                        .setTitle("添加用户")
                        .setView(view1)
                        .setPositiveButton("添加",new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                UserAccount userAccount = new UserAccount();
                                userAccount.setName(edname.getText().toString().trim());
                                userAccount.setTel(edtel.getText().toString().trim());
                                userAccount.setMail(edmail.getText().toString().trim());
                                userAccounts.add(userAccount);
                                adapter.notifyDataSetChanged();
                            }
                        } ).setNegativeButton("取消",null).show();

            }
        });
        return view;
    }

}

三、坑

FAB显示点击后没有颜色变化的效果:必须设置onClick事件。

你可能感兴趣的:(Android Studio 入门:(五) 悬浮按钮增加联系人信息)