//效果图
//相信大家都做过轮播图,有很多方法,但有些都大同小异,有点麻烦,传统点的还需要写 适配器,调用ImageLoder ,马上我要教大家一种简单又酷炫的轮播图。
//首先倒包
compile 'com.squareup.picasso:picasso:2.3.2' compile 'com.nineoldandroids:library:2.4.0' compile 'com.daimajia.slider:library:1.1.5@aar'
//再添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
//布局
<com.daimajia.slider.library.SliderLayout android:id="@+id/slider" android:layout_width="match_parent" android:layout_height="200dp" />
//解析有许多 但我用的是Okhttp 相信大家也用过
//为了让大家跟仔细的看到我的步骤 我就直接将Activity给粘了过来
package com.bwie.luobo; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import com.daimajia.slider.library.SliderLayout; import com.daimajia.slider.library.SliderTypes.TextSliderView; import org.json.JSONArray; import org.json.JSONObject; import java.io.IOException; import java.util.ArrayList; import java.util.List; import okhttp3.Request; public class MainActivity extends AppCompatActivity { private SliderLayout sliderShow; private List<Be> list=new ArrayList<Be>(); private Be bean; private String path="http://m.yunifang.com/yunifang/mobile/home?random=59676&encode=62d458fefce9c740359873cc19b05188"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); initData(); } //找控件 private void init() { sliderShow = (SliderLayout) findViewById(R.id.slider); } //okhttp解析数据 protected void initData() { OkHttp.getAsync(path, new OkHttp.DataCallBack() { @Override public void requestFailure(Request request, IOException e) { } @Override public void requestSuccess(String result) throws Exception { List<Be> lists=new ArrayList<Be>(); JSONObject object=new JSONObject(result); JSONObject data=object.getJSONObject("data"); JSONArray ad1=data.getJSONArray("ad1"); Log.i("----1-----",ad1+" "); for (int i = 0; i < ad1.length(); i++) { JSONObject o = ad1.getJSONObject(i); String image=o.getString("image"); bean=new Be(image); lists.add(bean); } list.addAll(lists); //主要步骤 for (int i = 0; i < list.size(); i++) { TextSliderView textSliderView = new TextSliderView(MainActivity.this); textSliderView.image(list.get(i).getImage());
// 此控件的一个点击事件 final int i2=i; textSliderView.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() { @Override public void onSliderClick(BaseSliderView slider) { Intent intent=new Intent(MainActivity.this, WebActivity.class); intent.putExtra("webviewUrl", list.get(i2).getAd_type_dynamic_data()); startActivity(intent); } });
sliderShow.addSlider(textSliderView); //设置小圆点 小圆点的位置 sliderShow.setPresetIndicator(SliderLayout.PresetIndicators.Right_Bottom); //轮播图片的 效果类型 sliderShow.setPresetTransformer(SliderLayout.Transformer.Background2Foreground); sliderShow.setDuration(3000); } } }); } }