Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jasperWang/Android-PullToNextLayout

Repository files navigation

webView.gif

ScrollView.gif

other.gif

github ##更新至1.3.1## #usage:#

android studio 引用:

 compile 'com.mingle.zzz40500:pulltonextlayout:1.3.1'

activity 的布局

<RelativeLayout
 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:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context=".MainActivity">
 <com.mingle.pulltonextlayout.PullToNextLayout
 android:id="@+id/pullToNextLayout"
 app:underLayoutColor="@color/bg"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"/>
</RelativeLayout>

简单说明 : 布局中只有一个控件PullToNextLayout, 控件中不包含其他组件

java 代码中引用使用:

 pullToNextLayout= (PullToNextLayout) findViewById(R.id.pullToNextLayout);
 list=new ArrayList<>();
 for (int i = 0; i < 4; i++) {
 list.add(new ScrollViewModel(currentIndex++));
 }
 adapter= new PullToNextModelAdapter(this,list);
 pullToNextLayout.setAdapter(adapter);
 pullToNextLayout.setOnItemSelectListener(new OnItemSelectListener() {
 @Override
 public void onSelectItem(int position, View view) {
 setTitle(position+1+".0 谷歌仍是毕业生心目中的最佳雇主");
 }
 });

ScrollViewModel
主要方法如下:

@Override
 public void onCreate(Context context) {
 super.onCreate(context);
 Log.e(TAG,"onCreate"+" "+index);
 }
 /**
 * 返回视图
 * @return
 */
 @Override
 public int getLayoutViewId() {
 return R.layout.fragment_scrollview;
 }
 /**
 * 绑定数据源
 * @param v
 */
 @Override
 public void onBindView(int position, View v, PullToNextView pullToNextView) {
 PromptEntity p=new PromptEntity();
 TextView titleTV= (TextView) v.findViewById(R.id.titleTV);
 TextView contentTv= (TextView) v.findViewById(R.id.textView);
 scrollView = (ScrollView) v.findViewById(R.id.scrollView);
 titleTV.setText(index+1+".0"+title);
 contentTv.setText(content);
 Log.e(TAG, "onBindView"+" "+index);
 }
 /**
 * 在onBindView 调用后调用.
 * @param view
 */
 @Override
 public void onResumeView(int position, View view, PullToNextView pullToNextView) {
 super.onResumeView(position, view, pullToNextView);
 if(scrollView!=null){
 scrollView.pageScroll(ScrollView.FOCUS_UP);
 }
 Log.e(TAG, "onResumeView"+" "+index);
 }
 /**
 * 解绑数据
 * @param view
 */
 @Override
 public void onUnBindView(int position, View view, PullToNextView pullToNextView) {
 super.onUnBindView(position,view,pullToNextView);
 Log.e(TAG, "onUnBindView"+" "+index);
 }
 @Override
 public void onPauseView(int position, View view, PullToNextView pullToNextView) {
 super.onPauseView(position,view,pullToNextView);
 Log.e(TAG, "onPauseView"+" "+index);
 }
 @Override
 public void setUserVisibleHint(boolean userVisibleHint) {
 super.setUserVisibleHint(userVisibleHint);
 if(userVisibleHint){
 }
 Log.e(TAG, "userVisibleHint" + userVisibleHint+" " + index);
 }

1.3.1 更新

  1. 修改了onBindView方法暴露出PullToNextView 和 position 字段
  • 支持动态修改提示提示内容.

1.3.0 更新

  1. 重构了部分代码.Deprecated 了PullToNextFragmentAdapter,加入了PullToNextModelAdapter,新的适配器支持了相同视图的复用.
  • 向下支持 sdk9 ;
  • 加入了PullToNextModel 类,视图配置类

1.2.1 内容:

  1. 控件支持ScrollView ,WebView 组件控件内滚动;
  • 支持gradle 方式加入;
  • 支持预加载,逻辑类似ViewPager,即预先加载当前页的前一个和下一个;

Q.怎么自定义下拉和上拉的文字提示:

A.
静态(资源文件):
res->values->strings.xml
添加6个,app会优先读取你项目中的资源文件.
 <string name="ptn_no_more_data">没有更多信息〜</string>
 <string name="ptn_release_to_next">放手查看下一个〜</string>
 <string name="ptn_pull_up_to_next">上拉查看下一个〜</string>
 <string name="ptn_the_first">已经是第一个了〜</string>
 <string name="ptn_release_to_previous">放手查看前一个〜</string>
 <string name="ptn_pull_down_to_previous">下拉查看前一个〜</string>
修改成你自己喜欢的文字
动态(java 代码)
 pullToNextView.setPromptEntity();

#end#

About

Android-PullToNextLayout

Resources

License

Stars

Watchers

Forks

Packages

Contributors

Languages

  • Java 100.0%

AltStyle によって変換されたページ (->オリジナル) /