本文实例为大家分享了Android实现顶部悬浮效果的具体代码,供大家参考,具体内容如下
效果图
布局
<&#63;xml version="1.0" encoding="utf-8"&#63;>
java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ARouter.getInstance().inject(this); setContentView(R.layout.activity_new_personal_card); ButterKnife.bind(this); setSupportActionBar(toolBar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); toolBar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onBackPressed(); } }); initData(); } private void initRefresh() { appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { @Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { if (verticalOffset >= 0) { swipeRefreshLayout.setEnabled(true); } else { swipeRefreshLayout.setEnabled(false); } } }); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { initData(); swipeRefreshLayout.setRefreshing(false); } }); }
注意事项
1.清单文件需要配置
android:theme="@style/personalCard"
2.gradle配置需要24以上
compileSdkVersion 24 //------------------ 在线依赖开始 ---------------- compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:recyclerview-v7:24.2.0' compile 'com.android.support:cardview-v7:24.2.0' compile 'com.android.support:design:24.2.0'
3.recyclerView的下滑和swipRefreshLayout的下拉刷新会冲突,所以需要监听appBarLayout的位移,当位移等于0时,即appBarLayout全部展示,可以下拉刷新
4.string.xml
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。