List of usage examples for android.support.v4.view ViewPager getViewTreeObserver
public ViewTreeObserver getViewTreeObserver()
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); } }); }