一个UI插件库, 用于ScrollView 和 ListView 的底部部和顶部悬浮viwe
QuickReturnListView实现监听listview滚动方向,分为监听上划手势和下滑手势。 当用户上滑时,会在底部弹窗个view,用户反向,该view会自动动画隐藏。 下滑手势监听同理。
使用
QuickReturnHeaderListFragment3.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
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
|
public
class
QuickReturnHeaderListFragment3
extends
ListFragment {
// region Member Variables
private
String
[] mValues;
@InjectView(android.R.id.list) ListView mListView;
@InjectView(R.id.quick_return_tv) TextView mQuickReturnTextView;
// endregion
// region Constructors
public
static
QuickReturnHeaderListFragment3 newInstance() {
QuickReturnHeaderListFragment3 fragment =
new
QuickReturnHeaderListFragment3();
Bundle args =
new
Bundle();
fragment.setArguments(args);
return
fragment;
}
public
QuickReturnHeaderListFragment3() {
}
// endregion
// region Lifecycle Methods
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
}
@Override
public
View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_list_quick_return_header, container,
false
);
ButterKnife.inject(
this
, view);
return
view;
}
@Override
public
void
onViewCreated(View view, Bundle savedInstanceState) {
super
.onViewCreated(view, savedInstanceState);
mValues = getResources().getStringArray(R.array.countries);
ArrayAdapter<
String
> adapter =
new
ArrayAdapter<
String
>(getActivity(),
R.layout.list_item, R.id.item_tv, mValues);
mListView.setAdapter(adapter);
// Set up the QuickReturn scroll listener
int
headerHeight = getActivity().getResources().getDimensionPixelSize(R.dimen.header_height2);
QuickReturnListViewOnScrollListener scrollListener =
new
QuickReturnListViewOnScrollListener(QuickReturnType.HEADER,
mQuickReturnTextView, -headerHeight,
null
,
0
);
// Setting to true will slide the header and/or footer into view or slide out of view based
// on what is visible in the idle scroll state
scrollListener.setCanSlideInIdleScrollState(
true
);
mListView.setOnScrollListener(scrollListener);
}
@Override
public
void
onDestroyView() {
super
.onDestroyView();
ButterKnife.reset(
this
);
}
// endregion
}
|
fragment_list_quick_return_header.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<RelativeLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ListView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:id=
"@android:id/list"
/>
<com.etiennelawlor.quickreturn.views.CustomFontTextView
android:id=
"@+id/quick_return_tv"
android:layout_width=
"match_parent"
android:layout_height=
"80dp"
android:background=
"@color/transparent_black_ninty"
android:textSize=
"22sp"
android:text=
"@string/header"
android:textColor=
"@android:color/white"
android:gravity=
"center"
app:textFont=
"Roboto_Bold"
/>
</RelativeLayout>
|
github地址https://github.com/lawloretienne/QuickReturn