Example usage for android.support.v4.view ViewPager getViewTreeObserver

List of usage examples for android.support.v4.view ViewPager getViewTreeObserver

Introduction

In this page you can find the example usage for android.support.v4.view ViewPager getViewTreeObserver.

Prototype

public ViewTreeObserver getViewTreeObserver() 

Source Link

Document

Returns the ViewTreeObserver for this view's hierarchy.

Usage

From source file:com.suyonoion.easyviewpagerui.ExpandedViewpagerUI.java

public ExpandedViewpagerUI(Context context, AttributeSet attrs) {
    super(context, attrs);

    List<String> mengisi_Tempat_judul = new ArrayList<>();
    final List<String> kodestringsxml_str = new ArrayList<>();
    final List<String> kodeutama_str = new ArrayList<>();

    for (int i = 1; i <= Jumlah_Page; i++) {
        try {//from   w ww . ja  v a 2  s .c  om
            mengisi_Tempat_judul.add(getResources().getString(setResource("judul_halaman_" + i, "string")));
        }

        catch (Throwable e) {

            if (Jumlah_Page > 25) {
                mengisi_Tempat_judul.add("Judul " + i + " belum ditambahkan di strings.xml");
                AlertDialog.Builder b = new AlertDialog.Builder(getContext());
                final String st = "<LinearLayout android:background=\"@drawable/a3\" android:id=\"@+id/id_halaman_4\" android:layout_width=\"match_parent\" android:layout_height=\"match_parent\" android:orientation=\"vertical\" android:gravity=\"center\">\n"
                        + "<TextView android:textSize=\"70sp\" android:layout_gravity=\"center\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"3\" android:textColor=\"#ff473eff\"/>\n"
                        + "</LinearLayout>";

                b.setMessage(
                        "Berbahaya Jumlah_Page terlalu banyak lebih dari 25 pages, penambahan kode utama tidak akan ditampilkan...!! Dan"
                                + "Kodeutama->strings.xml->smali belum sinkron (tidak sama). Mengedit 0x3 saja tidak cukup, anda juga perlu mengedit kodeutama dan strings.xml, agar sama. \n \n"
                                + "Jika anda telah mengubah/mengedit/menambah/menghapus Jumlah_Page = 3 (0x3) menjadi Jumlah_Page = "
                                + Jumlah_Page
                                + ", kodeutama, dan strings.xml maka, \n \n Tolong cek dan edit kembali kode utama di expanded anda dan strings.xml di value , sesuaikan dengan jumlah page yaitu "
                                + Jumlah_Page
                                + " dalam smali. dan tambahkan ini sejumlah pages yang anda mau :\n \n" + st
                                + "\n\n" + "sesuaikan dengan id_halaman");
                b.setCancelable(true);
                b.setNeutralButton("Copy to Clipboard", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        if (sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
                            android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getContext()
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            clipboard.setText(st);
                            Toast.makeText(getContext(), "Text Telah Ter-Copy ke Clipboard", Toast.LENGTH_SHORT)
                                    .show();
                        } else {
                            android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getContext()
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            android.content.ClipData clip = android.content.ClipData.newPlainText("Clip", st);
                            Toast.makeText(getContext(), "Text Telah Ter-Copy ke Clipboard", Toast.LENGTH_SHORT)
                                    .show();
                            clipboard.setPrimaryClip(clip);
                        }
                        dialog.dismiss();
                    }
                });
                b.setTitle("Pesan Saya...!!!");
                AlertDialog ad = b.create();
                ad.show();
            } else {
                mengisi_Tempat_judul.add("Judul " + i + " belum ditambahkan di strings.xml");
                AlertDialog.Builder b = new AlertDialog.Builder(getContext());
                kodeutama_str.add(
                        "<LinearLayout android:background=\"@drawable/a3\" android:id=\"@+id/id_halaman_" + i
                                + "\" android:layout_width=\"match_parent\" android:layout_height=\"match_parent\" android:orientation=\"vertical\" android:gravity=\"center\">\n"
                                + " <TextView android:textSize=\"70sp\" android:layout_gravity=\"center\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\""
                                + i + "\" android:textColor=\"#ff473eff\"/>\n" + "</LinearLayout> \n \n");

                b.setMessage(
                        "Kodeutama->strings.xml->smali belum sinkron (tidak sama). Mengedit 0x3 saja tidak cukup, anda juga perlu mengedit kodeutama dan strings.xml, agar sama. \n \n"
                                + "Jika anda telah mengubah/mengedit/menambah/menghapus Jumlah_Page = 3 (0x3) menjadi Jumlah_Page = "
                                + Jumlah_Page
                                + ", kodeutama, dan strings.xml maka, \n \n Tolong cek dan edit kembali kode utama di expanded anda dan strings.xml di value , sesuaikan dengan jumlah page yaitu "
                                + Jumlah_Page
                                + " dalam smali atau perhatikan kode utama dibawah ini silahkan dicontek dan tambahkan ke expanded:\n \n"
                                + kodeutama_str + "\n \n"
                                + "Copy to Clipboard dan oh iyah Hapus koma(,) kurung buka dan tutup [ ] yah :)");
                b.setCancelable(true);
                b.setNeutralButton("Copy to Clipboard", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        if (sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
                            android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getContext()
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            clipboard.setText(kodeutama_str.toString());
                            Toast.makeText(getContext(), "Text Telah Ter-Copy ke Clipboard", Toast.LENGTH_SHORT)
                                    .show();
                        } else {
                            android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getContext()
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            android.content.ClipData clip = android.content.ClipData.newPlainText("Clip",
                                    kodeutama_str.toString());
                            Toast.makeText(getContext(), "Text Telah Ter-Copy ke Clipboard", Toast.LENGTH_SHORT)
                                    .show();
                            clipboard.setPrimaryClip(clip);
                        }
                        dialog.dismiss();
                    }
                });
                b.setTitle("Pesan Saya...!!!");
                AlertDialog ad = b.create();
                ad.show();
            }

        }
    }

    AdapterExpandedViewpagerUI adapter = new AdapterExpandedViewpagerUI(mengisi_Tempat_judul);
    final ViewPager EasyExpandedViewPagerUI = (ViewPager) this.findViewById(setResource("id_viewpager", "id"));
    EasyExpandedViewPagerUI.setPageTransformer(true, new CubeOutTransformer());
    EasyExpandedViewPagerUI.setAdapter(adapter);
    EasyExpandedViewPagerUI.setOffscreenPageLimit(Jumlah_Page);
    if (EasyExpandedViewPagerUI.getWidth() > 0) {
        Bitmap image = JadikanBlur.blur(EasyExpandedViewPagerUI);
        EasyExpandedViewPagerUI.setBackgroundDrawable(new BitmapDrawable(getContext().getResources(), image));
    } else {
        EasyExpandedViewPagerUI.getViewTreeObserver()
                .addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                    @Override
                    public void onGlobalLayout() {
                        Bitmap image = JadikanBlur.blur(EasyExpandedViewPagerUI);
                        EasyExpandedViewPagerUI
                                .setBackgroundDrawable(new BitmapDrawable(getContext().getResources(), image));
                    }
                });
    }

    adapter.notifyDataSetChanged();
}

From source file:com.yahoo.mobile.client.android.yodel.ui.ImageGalleryActivity.java

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_image_gallery);
    setTitle("");

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
    setSupportActionBar(toolbar);/* w  w  w  .jav a  2s  .  com*/
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().setStatusBarColor(getResources().getColor(android.R.color.black));
    }

    final List<Photo> photos = new Gson().fromJson(getIntent().getStringExtra(EXTRA_PHOTO_LIST),
            new TypeToken<List<Photo>>() {
            }.getType());
    mGalleryPagerAdapter = new GalleryPagerAdapter(getSupportFragmentManager(), photos);
    mCaptionPagerIndicator = (CaptionViewPagerIndicator) findViewById(R.id.caption_pager_indicator);
    mCaptionPagerIndicator.setCurrentItem(0, mGalleryPagerAdapter.getCount());
    mCaptionPagerIndicator.setCaption(photos.get(0).getCaption());

    final ViewPager galleryPager = (ViewPager) findViewById(R.id.image_view_pager);
    galleryPager.setAdapter(mGalleryPagerAdapter);
    galleryPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }

        @Override
        public void onPageSelected(int position) {
            mCaptionPagerIndicator.setCurrentItem(position, mGalleryPagerAdapter.getCount());
            mCaptionPagerIndicator.setCaption(photos.get(position).getCaption());
        }

        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });
    // Delay any activity transition until the ViewPager is ready to be drawn
    supportPostponeEnterTransition();
    galleryPager.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        public boolean onPreDraw() {
            galleryPager.getViewTreeObserver().removeOnPreDrawListener(this);
            supportStartPostponedEnterTransition();
            return true;
        }
    });
    final GestureDetector clickDetector = new GestureDetector(this,
            new GestureDetector.SimpleOnGestureListener() {
                @Override
                public boolean onSingleTapUp(MotionEvent e) {
                    toggleSystemUiVisibility();
                    return true;
                }
            });

    galleryPager.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return clickDetector.onTouchEvent(event);
        }
    });
}