11package com .uis .stackview .demo .activity ;
22
3- import android .content .Intent ;
43import android .graphics .Color ;
5- import android .net .Uri ;
64import android .os .Build ;
75import android .os .Bundle ;
8- import android .util .Log ;
9- import android .view .LayoutInflater ;
106import android .view .View ;
117import android .view .ViewGroup ;
12- import android .view .Window ;
138import android .view .WindowManager ;
14- import android .widget .Toast ;
159
10+ import com .andview .refreshview .XRefreshView ;
11+ import com .andview .refreshview .utils .LogUtils ;
1612import com .facebook .common .logging .FLog ;
17- import com .facebook .common .logging .LoggingDelegate ;
1813import com .facebook .drawee .backends .pipeline .Fresco ;
19- import com .facebook .drawee .interfaces .DraweeController ;
20- import com .facebook .drawee .view .SimpleDraweeView ;
2114import com .facebook .imagepipeline .core .ImagePipelineConfig ;
22- import com .google .gson .Gson ;
23- import com .uis .stackview .StackLayout ;
2415import com .uis .stackview .demo .R ;
2516import com .uis .stackview .demo .entity .ItemEntity ;
2617import java .util .List ;
27-
2818import androidx .appcompat .app .AppCompatActivity ;
2919import androidx .recyclerview .widget .LinearLayoutManager ;
3020import androidx .recyclerview .widget .RecyclerView ;
31- import android .view .WindowManager ;
3221import androidx .viewpager .widget .ViewPager ;
3322
34- /**
35- * Created by xmuSistone on 2017/5/12.
36- */
37- public class MainActivity extends AppCompatActivity implements View .OnClickListener {
38-
39- private RecyclerView recyclerView ;
40- private StackLayout stackViewLayout ;
41- List <ItemEntity > dataList ;
23+ public class MainActivity extends AppCompatActivity {
4224
4325 @ Override
4426 protected void onCreate (Bundle savedInstanceState ) {
@@ -54,101 +36,45 @@ protected void onCreate(Bundle savedInstanceState) {
5436 getWindow ().addFlags (WindowManager .LayoutParams .FLAG_TRANSLUCENT_STATUS );
5537 }
5638 }
57-
5839 super .onCreate (savedInstanceState );
5940 setContentView (R .layout .activity_main );
6041 if (Build .VERSION .SDK_INT >= 19 ){
6142 ViewGroup .LayoutParams params = findViewById (R .id .view ).getLayoutParams ();
6243 params .height = getResources ().getDimensionPixelSize (R .dimen .status_height );
6344 }
6445 FLog .setMinimumLoggingLevel (FLog .VERBOSE );
46+ LogUtils .enableLog (false );
6547 if (!Fresco .hasBeenInitialized ()) {
6648 ImagePipelineConfig config = ImagePipelineConfig .newBuilder (getApplicationContext ())
6749 .setDiskCacheEnabled (true )
6850 .setDownsampleEnabled (true )
6951 .build ();
7052 Fresco .initialize (getApplicationContext (), config );
7153 }
72- recyclerView = findViewById (R .id .recyclerView );
73- stackViewLayout = findViewById (R .id .stacklayout );
74- findViewById (R .id .bt_web ).setOnClickListener (this );
75- findViewById (R .id .bt_app ).setOnClickListener (this );
76-
77- dataList = StackAdapter .initDataList (this );
78- ViewPager viewPager = findViewById (R .id .viewPager );
79- ViewPagerAdapter adapter = new ViewPagerAdapter (dataList );
80- viewPager .setAdapter (adapter );
81- viewPager .setCurrentItem (adapter .getRealSize ());
82-
83- recyclerView .setLayoutManager (new LinearLayoutManager (this ));
84- recyclerView .setAdapter (new StackAdapter ());
85- //stackViewLayout.setStackLooper(true);
86- //stackViewLayout.setPosition(10);
87- stackViewLayout .setAdapter (new StackLayout .StackAdapter () {
88- @ Override
89- public View onCreateView (ViewGroup parent ) {
90- return LayoutInflater .from (parent .getContext ()).inflate (R .layout .item_fresco_layout ,null );
91- }
92-
93- @ Override
94- public void onBindView (View view , int position ) {
95- SimpleDraweeView dv = view .findViewById (R .id .imageView );
96- DraweeController controller = Fresco .newDraweeControllerBuilder ()
97- .setUri (Uri .parse (dataList .get (position ).getMapImageUrl ()))
98- .setTapToRetryEnabled (true )
99- .setOldController (dv .getController ())
100- .build ();
101- dv .setController (controller );
102- }
10354
104- @ Override
105- public int getItemCount () {
106- return 5 ;//dataList.size();
107- }
108-
109- @ Override
110- public void onItemDisplay (int position ) {
111- Log .e ("xx" ,"display = " + position );
112- }
55+ final List <ItemEntity > dataList = StackAdapter .initDataList (this );
56+ final StackAdapter stackAdapter = new StackAdapter ();
57+ final RecyclerView recyclerView = findViewById (R .id .recyclerView );
58+ final XRefreshView freshView = findViewById (R .id .refreshView );
11359
60+ freshView .setAutoLoadMore (false );
61+ freshView .setSilenceLoadMore (false );
62+ freshView .setXRefreshViewListener (new XRefreshView .SimpleXRefreshListener (){
11463 @ Override
115- public void onItemClicked ( int position ) {
116- Log . e ( "xx" , "clicked = " + position );
117- //stackViewLayout.setStackLooper(false );
118- //stackViewLayout.setPosition(position+3 );
64+ public void onRefresh ( boolean isPullDown ) {
65+ freshView . stopRefresh ( );
66+ stackAdapter . dataList = dataList . subList ( 0 , 6 );
67+ stackAdapter . notifyDataSetChanged ( );
11968 }
12069 });
121- }
12270
123- @ Override
124- public void onClick (View v ) {
125- switch (v .getId ()){
126- case R .id .bt_app :
127- updateApp ();
128- break ;
129- case R .id .bt_web :
130- updateWeb ();
131- break ;
132- default :
133- }
134- }
13571
136- void updateWeb (){//"http://app.qq.com/#id=detail&appid=1104844480");//
137- Uri uri = Uri .parse (String .format ("http://a.app.qq.com/o/simple.jsp?pkgname=%s" ,"cn.com.bailian.bailianmobile" ));
138- Intent it = new Intent (Intent .ACTION_VIEW , uri );
139- startActivity (it );
140- }
72+ ViewPager viewPager = findViewById (R .id .viewPager );
73+ ViewPagerAdapter adapter = new ViewPagerAdapter (dataList );
74+ viewPager .setAdapter (adapter );
75+ viewPager .setCurrentItem (adapter .getRealSize ());
14176
142- void updateApp (){
143- try {
144- Uri uri = Uri .parse (String .format ("market://details?id=%s" , "cn.com.bailian.bailianmobile" ));
145- Intent it = new Intent (Intent .ACTION_VIEW , uri );
146- it .setPackage ("com.tencent.android.qqdownloader" );//com.tencent.android.qqdownloader com.huawei.appmarket
147- it .addFlags (Intent .FLAG_ACTIVITY_NEW_TASK );
148- startActivity (it );
149- }catch (Exception ex ){
150- ex .printStackTrace ();
151- Toast .makeText (this ,"应用宝未安装" ,Toast .LENGTH_SHORT ).show ();
152- }
77+ recyclerView .setLayoutManager (new LinearLayoutManager (this ));
78+ recyclerView .setAdapter (stackAdapter );
15379 }
15480}
0 commit comments