Xamarin Android 欢迎页
来源:互联网 发布:c语言最大公约数流程图 编辑:程序博客网 时间:2024/06/07 20:07
1.前言
现在市面上的APP大多数在首次安装的时候都有欢迎页,比如说还有轮播图之类的广告,所以欢迎页在APP的应用是非常广泛的,其实实现也是比较简单的,主要是用到ViewPager.
2.页面布局编写
ViewPager.xaml 这是外层包括图片的ViewPager,其实欢迎页的简单实现就是外层一个ViewPager,然后放布局界面进去。
<?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/welcomeViewPager" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ff0000" /></LinearLayout>
布局界面WelcomePage.xaml,这里就是简单地放一张图片。
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/welcome01"> <Button android:id="@+id/welcomeBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="35dp" android:background="@drawable/welcome_btn" /></RelativeLayout>
读者可以按照自己的要求去编写布局界面,这里只是讲解简单的实现。
3.Activity的编写
ViewPagerAdapter.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Android.App;using Android.Content;using Android.OS;using Android.Runtime;using Android.Views;using Android.Widget;using Android.Support.V4.View;using Java.Lang;namespace Welcome{ public class ViewPagerAdapter : PagerAdapter { private static string SHAREDPREFERENCES_NAME = "first_pref"; // 界面列表 private List<View> views; private Activity activity; public ViewPagerAdapter(List<View> views, Activity activity) { this.views = views; this.activity = activity; } /// <summary> /// 获得当前界面数 /// </summary> public override int Count { get { { return views.Count(); } } } // 初始化arg1位置的界面 public override Java.Lang.Object InstantiateItem(ViewGroup arg0, int arg1) { arg0.AddView(views[arg1]); if (arg1 == views.Count - 1) { Button welcomebtn = arg0.FindViewById<Button>(Resource.Id.welcomeBtn); welcomebtn.Click += (s, e) => { setGuided(); goHome(); }; } return views[arg1]; } //销毁arg1位置的界面 public override void DestroyItem(ViewGroup arg0, int arg1, Java.Lang.Object arg2) { arg0.RemoveView(views[arg1]); } public override bool IsViewFromObject(View view, Java.Lang.Object @object) { return view == @object; } /// <summary> /// 跳转 /// </summary> private void goHome() { Intent intent = new Intent(activity, typeof(MyLogin)); activity.StartActivity(intent); activity.Finish(); } /// <summary> /// 设置已经引导过了,下次启动不用再次引导 /// </summary> private void setGuided() { ISharedPreferences preferences = activity.GetSharedPreferences( SHAREDPREFERENCES_NAME, FileCreationMode.Private); ISharedPreferencesEditor editor = preferences.Edit(); // 存入数据 editor.PutBoolean("isFirstIn", false); // 提交修改 editor.Commit(); } }}
WelcomeActivity.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Android.App;using Android.Content;using Android.OS;using Android.Runtime;using Android.Views;using Android.Widget;using Android.Support.V4.View;namespace Welcome{ [Activity(Label = "WelcomeActivity")] public class WelcomeActivity : Activity { protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); RequestWindowFeature(WindowFeatures.NoTitle); Window.SetFlags(WindowManagerFlags.Fullscreen, WindowManagerFlags.Fullscreen); //设置全屏显示 SetContentView(Resource.Layout.WelcomePage); ViewPager viewPager = FindViewById<ViewPager>(Resource.Id.welcomeViewPager); //动态加载三个View var li = LayoutInflater.From(this); View v1 = li.Inflate(Resource.Layout.WelcomePage1, null); View v2 = li.Inflate(Resource.Layout.WelcomePage2, null); View v3 = li.Inflate(Resource.Layout.WelcomePage3, null); View v4 = li.Inflate(Resource.Layout.WelcomePage4, null); List<View> listview = new List<View>(); listview.Add(v1); listview.Add(v2); listview.Add(v3); listview.Add(v4); ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(listview, this); viewPager.Adapter = viewPagerAdapter; } }}
到这里就简单地实现了广告图。
0 0
- Xamarin Android 欢迎页
- Xamarin.Android 引导页 启动页
- Xamarin.Android之定位
- Xamarin.Android之SlidingMenu
- Xamarin.Android 打包Apk
- Xamarin.Android Adapter初探
- Xamarin.Android 入门开发
- Xamarin.Android打包apk
- Xamarin.Android之定位
- Xamarin Android Player
- Xamarin.Android广播接收器
- Xamarin.Android CommonAdapter+ViewHolder
- Xamarin Mono For Android
- xamarin android布局
- xamarin android alertdialog详解
- Xamarin Android自定义文本框
- Xamarin Android Gestures详解
- xamarin android打开拍照
- Hdu 5023 A Corrupt Mayor's Performance Art(线段树+状压)
- 让mybatis在控制台里打印sql语句
- C++总结
- Java IO
- oracle数据库报ora-01691错误--表空间容量溢出解决办法
- Xamarin Android 欢迎页
- ORA-00376/ORA-01110 故障处理办法
- EditText(输入框)
- 流媒体视频直播类研究(一):Windows环境下部署Red5-Server流媒体服务器
- nginx编译安装
- 32. Longest Valid Parentheses
- 数据结构JavaScript——队列
- ORACLE 基于ASM 存储迁移
- CVPR 2016-11-14