Android顶部悬浮的具体代码

来源:爱站网时间:2022-12-05编辑:网友分享
爱站技术频道小编今天为大家介绍下Android顶部悬浮的具体代码内容,如果你不懂得如何操作,那就看看小编所整理的文章吧,具有一定的借鉴价值,对开发Android提供了不小的帮助。

本文实例为大家分享了Android实现顶部悬浮效果的具体代码,供大家参考,具体内容如下

效果图

布局

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

xml version="1.0" encoding="utf-8"?>

android.support.v4.widget.SwipeRefreshLayout 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:id="@+id/swipeRefreshLayout"

 android:layout_width="match_parent"

 android:layout_height="match_parent"

 tools:context=".ui.activity.NewPersonalCardActivity">

 

 android.support.design.widget.CoordinatorLayout

 android:id="@+id/rootLayout"

 android:layout_width="match_parent"

 android:layout_height="match_parent">

 

 android.support.design.widget.AppBarLayout

  android:id="@+id/appBarLayout"

  android:layout_width="match_parent"

  android:layout_height="wrap_content">

 

  android.support.design.widget.CollapsingToolbarLayout

  android:id="@+id/collapsingToolbarLayout"

  android:layout_width="match_parent"

  android:layout_height="192dp"

  app:layout_scrollFlags="scroll|exitUntilCollapsed"

  app:titleEnabled="false">

 

  LinearLayout

   android:id="@+id/headLayout"

   android:layout_width="match_parent"

   android:layout_height="match_parent"

   android:orientation="vertical"

   app:layout_collapseMode="pin"

   app:layout_collapseParallaxMultiplier="0.7">

 

   include layout="@layout/personal_new_top" />

  LinearLayout>

 

  android.support.v7.widget.Toolbar

   android:id="@+id/toolBar"

   android:layout_width="match_parent"

   android:layout_height="44dp"

   android:background="@color/white"

   android:navigationIcon="@drawable/icon_back"

   app:contentInsetLeft="0dp"

   app:contentInsetStart="0dp"

   app:layout_collapseMode="pin"

   app:navigationIcon="@drawable/icon_back">

 

   TextView

   android:layout_width="wrap_content"

   android:layout_height="wrap_content"

   android:layout_gravity="center"

   android:singleLine="true"

   android:textColor="@color/c333333"

   android:textSize="16sp"

   tools:text="讲师" />

  android.support.v7.widget.Toolbar>

  android.support.design.widget.CollapsingToolbarLayout>

 

  include layout="@layout/new_personal_tabs" />

 android.support.design.widget.AppBarLayout>

 

 android.support.v4.widget.NestedScrollView

  android:id="@+id/nestedScrollView"

  android:layout_width="match_parent"

  android:layout_height="match_parent"

  android:fillViewport="true"

  android:scrollbars="none"

  app:layout_behavior="@string/appbar_scrolling_view_behavior">

 

  android.support.v4.view.ViewPager

  android:id="@+id/viewPager"

  android:layout_width="match_parent"

  android:layout_height="match_parent"

  app:layout_behavior="@string/appbar_scrolling_view_behavior" />

 android.support.v4.widget.NestedScrollView>

 android.support.design.widget.CoordinatorLayout>

android.support.v4.widget.SwipeRefreshLayout>

java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

@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.清单文件需要配置

1

android:theme="@style/personalCard"

1

2

3

4

5

6

7

8

style name="personalCard" parent="Theme.AppCompat.Light.DarkActionBar">

 

 item name="windowActionBar">falseitem>

 item name="windowNoTitle">trueitem>

 item name="colorPrimary">@color/colorPrimaryitem>

 item name="colorPrimaryDark">@color/colorPrimaryDarkitem>

 item name="colorAccent">@color/colorAccentitem>

 style>

2.gradle配置需要24以上

1

2

3

4

5

6

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

 
android.support.design.widget.AppBarLayout$ScrollingViewBehavior

Android顶部悬浮的具体代码内容爱站技术频道小编都一一给大家整理出来了,对这方面内容还存在疑惑的,随时都可以来平台留言咨询,更多相关精彩内容,一定要来爱站技术频道网站。

上一篇:Android底部图片选择应该怎么布局

下一篇:Android实时搜索框的实例代码

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载