久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

android - 網絡加載回來之后,控件的樣式不對。

瀏覽:203日期:2024-08-16 10:58:16

問題描述

我設置的viewpager中間的為大,兩邊的為小。可是,第一次網絡請求回來的,中間的和右邊的一樣大。我已經放到子線程了,還是不行。望大神解答。。。

public class ImpressCardFragment extends Fragment { @BindView(R.id.vp_pager) ViewPager mPager; private List<Impress.ObjectBean.DataBean> mList; private Unbinder bind; private List<PageFragment> fragmentList; private ImpressCardAdapter cartAdapter; private ACache aCache; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View rootView = inflater.inflate(R.layout.fragment_impress_card, container, false);bind = ButterKnife.bind(this, rootView);transformerPager();aCache = ACache.get(getContext());mList = new ArrayList<>();DisplayMetrics metric = new DisplayMetrics();getActivity().getWindowManager().getDefaultDisplay().getMetrics(metric);int width = metric.widthPixels; // 屏幕寬度(像素)int height = metric.heightPixels; // 屏幕高度(像素)float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)int densityDpi = metric.densityDpi;mPager.setOffscreenPageLimit(4);mPager.setPageMargin(-width / 4);fragmentList = new ArrayList<>();cartAdapter = new ImpressCardAdapter(getChildFragmentManager(), getContext(), fragmentList);mPager.setAdapter(cartAdapter);return rootView; } @Override public void onResume() {super.onResume();//緩存Impress impress = (Impress) aCache.getAsObject('impressCart');//if (impress == null) {// getData();//} else {//// mList.clear();// mList.addAll(impress.object.get(0).data);// fragmentList.clear();// for (int i = 0; i < mList.size(); i++) {//fragmentList.add(new PageFragment(mList.get(i)));// }// cartAdapter.notifyDataSetChanged();//}handler.post(mRunnable); } /** * viewPager的轉換效果 */ void transformerPager() {mPager.setPageTransformer(true, new ViewPager.PageTransformer() { public float position; public void transformPage(View page, float position) {this.position = position;if (position < -1) { // This page is way off-screen to the left.} else if (position <= 1) { if (position < 0) {if (position < -0.4f) position = -0.4f;page.setScaleY(1.4f + position);page.setScaleX(1.4f + position); } else {if (position > 0.4) position = 0.4f;page.setScaleY(1.4f - position);page.setScaleX(1.4f - position); }} else { // This page is way off-screen to the right.} }}); } @Override public void onDestroyView() {bind.unbind();handler.removeCallbacks(mRunnable);super.onDestroyView(); } private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) {case 1: Impress body = (Impress) msg.obj; aCache.put('impressCart', body, 2); mList.clear(); mList.addAll(body.object.get(0).data); fragmentList.clear(); for (int i = 0; i < mList.size(); i++) {fragmentList.add(new PageFragment(mList.get(i))); } cartAdapter.notifyDataSetChanged(); break; }} }; private Runnable mRunnable = new Runnable() {@Overridepublic void run() { HttpClient.createRequest(HttpTask.class).impressIndex(String.valueOf(0), String.valueOf(10)).enqueue(new Callback<Impress>() {@Overridepublic void onResponse(Call<Impress> call, Response<Impress> response) { if (response.body().code.equals(Constants.REQUESTID_SUCCESS)) {Impress body = response.body();Message message = handler.obtainMessage(1);message.obj = body;handler.sendMessage(message); }}@Overridepublic void onFailure(Call<Impress> call, Throwable t) { Toast.makeText(getContext(), '服務器故障', Toast.LENGTH_SHORT).show();} });} };}

android - 網絡加載回來之后,控件的樣式不對。

問題解答

回答1:

參考這個庫:https://github.com/hongyangAn...

主站蜘蛛池模板: 贡觉县| 汤阴县| 章丘市| 原阳县| 渭南市| 承德县| 丰台区| 仁寿县| 平果县| 宜城市| 衡水市| 茂名市| 济宁市| 侯马市| 广灵县| 黄石市| 历史| 兖州市| 于都县| 朝阳区| 体育| 会昌县| 修水县| 汕尾市| 平南县| 金平| 岳阳市| 巴中市| 昌平区| 洛南县| 潞西市| 于田县| 施甸县| 精河县| 和政县| 靖西县| 万全县| 荥阳市| 佳木斯市| 台东市| 海南省|