[Xamarin] Android 製作滑動含手勢輪播廣告
主要是做出滑動的橫幅效果像是這樣,這邊是用一個github 上面的套件,不過他官方範例有點雜,這邊我就做個小整理
1. 首先,當然我們不是全部都自己寫,我們主要是用一個網路上的open source ( https://github.com/Cheesebaron/ViewPagerIndicator ) ,在這邊感謝各位Open source 的大大提供套件,之後編譯你會拿到 DK.Ostebaronen.Droid.ViewPagerIndicator.v4.dll 並且把他引入。
2.我們要下載一些xamarin 上的 components
Xamarin Android Support Library v4 , Android Support Library v7 AppCompat ,引入第一步的 DK.Ostebaronen.Droid.ViewPagerIndicator.v4.dll 跟這兩個 components 後 references 會長這樣
3.Main.xaml ,其中放入 android.support.v4.view.ViewPager 還有 dk.ostebaronen.droid.viewpagerindicator.CirclePageIndicator 則是拿來切換圖片的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="200dp" />
<dk.ostebaronen.droid.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:padding="10dp"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
</LinearLayout>
4. MainActivity.cs 其中 加入圖片的方法就變得很簡單
//加入圖片
ImagesList = new List<int>();
ImagesList.Add(Resource.Drawable.sh095);
ImagesList.Add(Resource.Drawable.sh096);
ImagesList.Add(Resource.Drawable.sh097);
ImagesList.Add(Resource.Drawable.sh098);
_adapter = new FragStateSupport(SupportFragmentManager, ImagesList);
//將UI上的圖片顯示放入資料
_pager = FindViewById<ViewPager>(Resource.Id.pager);
_pager.Adapter = _adapter;
讓他自動輪播:
//每一秒讓他輪播如果撥放到最後拉回到第一張
private void _Timer_Elapsed(object sender, ElapsedEventArgs e)
{
CurrentFlag = _pager.CurrentItem;
CurrentFlag++;
CurrentFlag = CurrentFlag % 4;
this.RunOnUiThread(() => _pager.SetCurrentItem(CurrentFlag, true));
}
這邊我提供source code :
https://github.com/donma/Xamarin.TestSliderAutoPlay
標籤:
Android
,
C#
,
OpenSource
,
Xamarin
-- Yesterday I wrote down the code. I bet I could be your hero. I am a mighty little programmer. 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力...