最近在gitup上看到了一个开源库,挺好用的
注意 在FloatingActionButton,图片用的src,用的是普通的图片,
FloatingActionButton
主要功能是,当listView向下滑动时,右下角的红色按钮消失。当上滚动时,会出现。类似知乎的功能。自己用AS做了一个例子
1、首先是xml布局 ,一个listView 加上一个FloatingActionButton ,很简单
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.melnykov.fab.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
android:src="@drawable/btn_circle"
fab:fab_colorNormal="@color/red"
fab:fab_colorPressed="@color/blue"
/>
</FrameLayout>
3、记得在model的gradle文件里添加依赖fab:fab_colorNormal="@color/red" fab:fab_colorPressed="@color/blue" //设置图片的点击按压效果
2、最后是Activity代码package hemiy.qinghui.com.mytestdemo.floatbutton; import android.content.Context; import android.graphics.BitmapFactory; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import com.melnykov.fab.FloatingActionButton; import java.util.ArrayList; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import hemiy.qinghui.com.mytestdemo.R; /** * 悬浮按钮 * https://github.com/makovkastar/FloatingActionButton/issues * Created by hemiy on 16/6/8. */ public class FloatButtonAcvitity extends AppCompatActivity { @BindView(android.R.id.list) ListView listView; @BindView(R.id.fab) FloatingActionButton fab; private Context context; private List<String> datas = new ArrayList<>(); private ArrayAdapter adapter; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_float_button); ButterKnife.bind(this); context=this; intiDatas(); } private void intiDatas() { datas.add("广州1"); datas.add("深圳2"); datas.add("韶关3"); datas.add("红山4"); datas.add("北京5"); datas.add("广州6"); datas.add("深圳7"); datas.add("韶关8"); datas.add("红山9"); datas.add("北京10"); datas.add("广州11"); datas.add("深圳12"); datas.add("韶关13"); datas.add("红山14"); datas.add("北京15"); datas.add("广州16"); datas.add("深圳17"); datas.add("韶关18"); datas.add("红山19"); datas.add("北京20"); adapter = new ArrayAdapter(FloatButtonAcvitity.this, R.layout.item_for_list, datas); listView.setAdapter(adapter); //悬浮按钮的设置监听 fab.attachToListView(listView); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(FloatButtonAcvitity.this,"点击了",Toast.LENGTH_LONG).show(); } }); } }
compile 'com.melnykov:floatingactionbutton:1.3.0'