用戶向?qū)ё笥一瑒禹撁鎸崿F(xiàn)之ViewPager_html/css_WEB-ITnose
Jun 24, 2016 pm 12:04 PM
接著上一篇博客,上一篇博客是用ImageSwitcher實現(xiàn)用戶向?qū)Чδ?,現(xiàn)在用ViewPager實現(xiàn)相同的功能。直接看代碼:
布局文件activity_main.xml
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context=".MainActivity"> <android.support.v4.view.viewpager android:id="@+id/viewpager" android:layout_width="fill_parent" android:layout_height="fill_parent"></android.support.v4.view.viewpager> <linearlayout android:id="@+id/dots" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignparentbottom="true" android:layout_marginbottom="50dp" android:gravity="center_horizontal" android:orientation="horizontal"> </linearlayout></relativelayout>
ViewPager頁面的切換用小圓點來表示當(dāng)前是第幾頁,這里使用drawable.xml文件去繪制的,如下:
dot_focus.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <corners android:radius="5dip"></corners> <solid android:color="#FF930000"></solid></shape>dot_nomal.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <corners android:radius="5dip"></corners> <solid android:color="#FF3C3C3C"></solid></shape>在Activity中如下代碼:
package com.example.viewpagerautoswitch;import java.util.ArrayList;import java.util.List;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup.LayoutParams;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;@SuppressLint("HandlerLeak")public class MainActivity extends Activity { private ViewPager mViewPager ; private MyPagerAdapter mViewPagerAdapter ; private LinearLayout mLinearLayout ; private ImageView[] mImageDots ; private Context mContext ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = MainActivity.this ; mViewPager = (ViewPager)findViewById(R.id.viewpager); mLinearLayout = (LinearLayout)findViewById(R.id.dots); initViewPager(getImageItem() ,0); } public void initViewPager(List<imageview> mList ,int position){ mImageDots = new ImageView[mList.size()]; for(int i=0 ;i<mlist.size imageview image="new" image.setlayoutparams layoutparams image.setbackgroundresource mimagedots mlinearlayout.addview textview tv="new" tv.setlayoutparams mviewpageradapter="new" mypageradapter mviewpager.setonpagechangelistener onpagechangelistener onpagescrollstatechanged> onPageSelected --> onPageScrolled -->onPageScrollStateChanged @Override public void onPageSelected(int position) { for(int i=0 ;i<mimagedots.length if position mimagedots public void onpagescrolled current_position float persent int px onpagescrollstatechanged state mviewpager.setonclicklistener onclicklistener onclick view mviewpager.setadapter mviewpager.setcurrentitem list> getImageItem(){ List<imageview> list = new ArrayList<imageview>(); ImageView img = new ImageView(mContext); img.setBackgroundResource(R.drawable.img1); list.add(img); img = new ImageView(mContext); img.setBackgroundResource(R.drawable.img2); list.add(img); img = new ImageView(mContext); img.setBackgroundResource(R.drawable.img3); list.add(img); return list ; } @Override public void finish() { super.finish(); }}</imageview></imageview></mimagedots.length></mlist.size></imageview>這里ViewPager和ImageSwitcher不同的地方在于ViewPager是用Adapter去封裝需要加裝的頁面,而ImageSwitcher使用ViewFactory去加裝圖片的。所以使用viewPager時需要集成PagerAdapter實現(xiàn)相應(yīng)的接口即可。如下:
MyPagerAdapter.java
package com.example.viewpagerautoswitch;import java.util.List;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;public class MyPagerAdapter extends PagerAdapter { private List<imageview> items ; private Context mContext ; public MyPagerAdapter(Context context,List<imageview> item){ mContext = context ; items = item ; } @Override public int getCount() { return items == null ? 0 : items.size(); } @Override public boolean isViewFromObject(View view, Object obj) { return view == (View)obj; } @Override public Object instantiateItem (ViewGroup container, int position) { ImageView image = items.get(position); ((ViewPager)container).addView(image, 0); return image; } @Override public void destroyItem (ViewGroup container, int position, Object object) { container.removeView((View)object); } }</imageview></imageview>這樣就可以實現(xiàn)用戶向?qū)У墓δ芰?,具體的頁面效果如下:圖片顯示的是第二張pager的情況,這個是android手機上的demo,如果是Android機頂盒上使用的話,可以捕捉左右鍵去時間滑動。
有時候,在應(yīng)用中不僅僅是為了可以切換圖片,或許這個Pager他有點擊事件所表示的意思,比如點擊之后跳轉(zhuǎn)到某個網(wǎng)頁,這么辦?。?這里可以封裝你的Adapter數(shù)據(jù),將ImageView,替換成你定義的封裝數(shù)據(jù),在Adapter中重寫的instantiateItem()中去實例化一個View,然后返回即可,由于初始化Adapter的list在MainActivity中有原始數(shù)據(jù),那么當(dāng)用戶在點擊某個pager時,提取這個Pager所表示的信息,比如一個網(wǎng)址鏈接等。
其實,現(xiàn)在好多app中使用了自動循環(huán)切換的效果,這個效果不外乎就是用計時器+Handler實現(xiàn),只需要添加如下代碼即可:
private Timer mTimer ; private void startTimer(){ if(mTimer == null){ mTimer = new Timer(true); } mTimer.schedule(new TimerTask(){ @Override public void run() { mHandler.sendEmptyMessage(0); } }, 1000, 4000) ;// 延遲1秒開始執(zhí)行,循環(huán)執(zhí)行時間是4秒 } private void stopTimer(){ if(mTimer != null){ mTimer.cancel() ; mTimer = null ; } } @SuppressLint("HandlerLeak") Handler mHandler = new Handler(){ public void handleMessage(android.os.Message msg) { if(msg.what == 0){ int mViewPagerCurrentIndex = mViewPager.getCurrentItem(); mViewPagerCurrentIndex = (++mViewPagerCurrentIndex) % mViewPager.getAdapter().getCount() ; mViewPager.setCurrentItem(mViewPagerCurrentIndex, true); } }; };這段代碼中提供了開始和停止自動循環(huán)切換的開關(guān)startTimer()、stopTimer(),通過這兩個方法,可以更具需求對ViewPager是否需要自動切換做操作。
此外,ImageSwitcher的自動切換同樣可以使用此代碼去控制。

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dengan perkembangan pesat media sosial, Xiaohongshu telah menjadi salah satu platform sosial yang paling popular. Pengguna boleh membuat akaun Xiaohongshu untuk menunjukkan identiti peribadi mereka dan berkomunikasi serta berinteraksi dengan pengguna lain. Jika anda perlu mencari nombor Xiaohongshu pengguna, anda boleh mengikuti langkah mudah ini. 1. Bagaimana untuk menggunakan akaun Xiaohongshu untuk mencari pengguna? 1. Buka APP Xiaohongshu, klik butang "Temui" di penjuru kanan sebelah bawah, dan kemudian pilih pilihan "Nota". 2. Dalam senarai nota, cari nota yang disiarkan oleh pengguna yang ingin anda cari. Klik untuk memasuki halaman butiran nota. 3. Pada halaman butiran nota, klik butang "Ikuti" di bawah avatar pengguna untuk memasuki halaman utama peribadi pengguna. 4. Di penjuru kanan sebelah atas halaman utama peribadi pengguna, klik butang tiga titik dan pilih "Maklumat Peribadi"

Ingin menyalin halaman dalam Microsoft Word dan mengekalkan pemformatan? Ini adalah idea yang bijak kerana menduplikasi halaman dalam Word boleh menjadi teknik penjimatan masa yang berguna apabila anda ingin membuat berbilang salinan susun atur atau format dokumen tertentu. Panduan ini akan membimbing anda melalui proses langkah demi langkah menyalin halaman dalam Word, sama ada membuat templat atau menyalin halaman tertentu dalam dokumen. Arahan mudah ini direka untuk membantu anda mencipta semula halaman anda dengan mudah tanpa perlu bermula dari awal. Mengapa menyalin halaman dalam Microsoft Word? Terdapat beberapa sebab mengapa menyalin halaman dalam Word sangat bermanfaat: Apabila anda mempunyai dokumen dengan susun atur atau format tertentu yang anda ingin salin. Tidak seperti mencipta semula keseluruhan halaman dari awal

Dalam sistem Ubuntu, pengguna root biasanya dilumpuhkan. Untuk mengaktifkan pengguna root, anda boleh menggunakan arahan passwd untuk menetapkan kata laluan dan kemudian menggunakan arahan su untuk log masuk sebagai root. Pengguna akar ialah pengguna dengan hak pentadbiran sistem tanpa had. Dia mempunyai kebenaran untuk mengakses dan mengubah suai fail, pengurusan pengguna, pemasangan dan pengalihan keluar perisian, dan perubahan konfigurasi sistem. Terdapat perbezaan yang jelas antara pengguna akar dan pengguna biasa Pengguna akar mempunyai kuasa tertinggi dan hak kawalan yang lebih luas dalam sistem. Pengguna akar boleh melaksanakan perintah sistem yang penting dan mengedit fail sistem, yang tidak boleh dilakukan oleh pengguna biasa. Dalam panduan ini, saya akan meneroka pengguna akar Ubuntu, cara log masuk sebagai akar, dan bagaimana ia berbeza daripada pengguna biasa. Notis

Ramai pengguna telah ditambahkan ke sistem Ubuntu Saya ingin memadamkan pengguna yang tidak lagi digunakan. Mari kita lihat tutorial terperinci di bawah. 1. Buka baris arahan terminal dan gunakan perintah userdel untuk memadam pengguna yang ditentukan. Pastikan anda menambah perintah kebenaran sudo, seperti yang ditunjukkan dalam rajah di bawah 2. Apabila memadam, pastikan anda berada dalam direktori pentadbir tidak mempunyai kebenaran ini, seperti yang ditunjukkan dalam rajah di bawah 3. Selepas arahan padam dilaksanakan, bagaimana untuk menilai sama ada ia telah benar-benar dipadamkan? Seterusnya kami menggunakan arahan cat untuk membuka fail passwd, seperti yang ditunjukkan dalam rajah di bawah 4. Kami melihat bahawa maklumat pengguna yang dipadam tidak lagi dalam fail passwd, yang membuktikan bahawa pengguna telah dipadam, seperti yang ditunjukkan dalam rajah di bawah 5. Kemudian kita masukkan fail rumah

Microsoft mula melancarkan KB2 kepada umum sebagai kemas kini pilihan untuk Windows 503145511H22 atau lebih baru. Ini ialah kemas kini pertama untuk mendayakan ciri Windows 11 Moment 4 secara lalai, termasuk Windows Copilot di kawasan yang disokong, pratonton sokongan untuk item dalam menu Mula, nyahkumpulan bar tugas dan banyak lagi. Selain itu, ia membetulkan beberapa pepijat Windows 11, termasuk potensi masalah prestasi yang menyebabkan kebocoran memori. Tetapi ironinya, kemas kini pilihan untuk September 2023 akan menjadi bencana bagi pengguna yang cuba memasang kemas kini, malah bagi mereka yang telah memasangnya. Ramai pengguna tidak akan memasang Wi ini

sudo (eksekusi superuser) ialah arahan utama dalam sistem Linux dan Unix yang membenarkan pengguna biasa menjalankan perintah tertentu dengan keistimewaan root. Fungsi sudo dicerminkan terutamanya dalam aspek berikut: Menyediakan kawalan kebenaran: sudo mencapai kawalan ketat ke atas sumber sistem dan operasi sensitif dengan membenarkan pengguna mendapatkan kebenaran superuser buat sementara waktu. Pengguna biasa hanya boleh mendapatkan keistimewaan sementara melalui sudo apabila diperlukan, dan tidak perlu log masuk sebagai pengguna super sepanjang masa. Keselamatan yang dipertingkatkan: Dengan menggunakan sudo, anda boleh mengelak daripada menggunakan akaun akar semasa operasi rutin. Menggunakan akaun akar untuk semua operasi boleh menyebabkan kerosakan sistem yang tidak dijangka, kerana sebarang operasi yang salah atau cuai akan mempunyai kebenaran penuh. dan

Penyelesaian untuk skrin telefon mudah alih yang sukar diluncurkan dan kering: 1. Lembapkan skrin 2. Bersihkan skrin dengan kerap 3. Tingkatkan kekuatan gelongsor jari anda 4. Gunakan pelindung skrin telefon bimbit; 6. Pastikan tangan sentiasa lembap; Pengenalan terperinci: 1. Lembapkan skrin, letakkan pelembap di sebelah skrin atau semburkan sedikit air untuk meningkatkan kelembapan di udara, dengan itu mengurangkan kekeringan skrin 2. Bersihkan skrin dengan kerap, gunakan pembersih skrin profesional, dsb.

Penyegaran halaman adalah perkara biasa dalam penggunaan rangkaian harian kami Apabila kami melawat halaman web, kadangkala kami menghadapi beberapa masalah, seperti halaman web tidak dimuatkan atau dipaparkan secara tidak normal, dsb. Pada masa ini, kami biasanya memilih untuk memuat semula halaman untuk menyelesaikan masalah, jadi bagaimana untuk memuat semula halaman dengan cepat? Mari kita bincangkan kekunci pintasan untuk muat semula halaman. Kekunci pintasan muat semula halaman ialah kaedah untuk memuat semula halaman web semasa dengan pantas melalui operasi papan kekunci. Dalam sistem pengendalian dan penyemak imbas yang berbeza, kekunci pintasan untuk muat semula halaman mungkin berbeza. Di bawah ini kami menggunakan W biasa
