Android开发之欢迎界面标准
2014-02-15 08:58 y-z-f 阅读(2202) 评论(0) 编辑 收藏 举报1 import java.util.ArrayList; 2 3 import android.app.Activity; 4 import android.content.SharedPreferences; 5 import android.os.Bundle; 6 import android.support.v4.view.PagerAdapter; 7 import android.support.v4.view.ViewPager; 8 import android.view.LayoutInflater; 9 import android.view.View; 10 import android.view.ViewGroup; 11 import android.view.ViewGroup.LayoutParams; 12 13 //安卓应用欢迎界面标准 14 public class MainActivity extends Activity { 15 private ViewPager viewPager; 16 private ViewPagerAdapter pagerAdapter = new ViewPagerAdapter(); 17 // 欢迎界面显示的视图ID 18 private int[] viewsId = { R.layout.wel1, R.layout.wel2, R.layout.wel3 }; 19 // 缓冲界面显示的视图ID 20 private int cacheId = R.layout.wel2; 21 22 @Override 23 protected void onCreate(Bundle savedInstanceState) { 24 super.onCreate(savedInstanceState); 25 SharedPreferences shared = this.getSharedPreferences("app_global", 26 MODE_WORLD_WRITEABLE); 27 viewPager = new ViewPager(this); 28 viewPager.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 29 LayoutParams.MATCH_PARENT)); 30 if (!shared.contains("used")) { 31 pagerAdapter.setViewsId(viewsId); 32 shared.edit().putBoolean("used", true).commit(); 33 } else { 34 pagerAdapter.setViewsId(cacheId); 35 } 36 viewPager.setAdapter(pagerAdapter); 37 38 // 获取最后一个视图,以便绑定事件 39 View v = pagerAdapter.getLastView(); 40 41 setContentView(viewPager); 42 } 43 44 // 在其中写入当显示缓冲图片时执行的操作 45 protected void onShowCachePicture() { 46 47 } 48 49 private class ViewPagerAdapter extends PagerAdapter { 50 private ArrayList<View> viewList = new ArrayList<View>(); 51 52 @Override 53 public void destroyItem(ViewGroup container, int position, Object object) { 54 container.removeView(viewList.get(position)); 55 } 56 57 @Override 58 public Object instantiateItem(ViewGroup container, int position) { 59 container.addView(viewList.get(position)); 60 return viewList.get(position); 61 } 62 63 @Override 64 public int getCount() { 65 return viewList.size(); 66 } 67 68 @Override 69 public boolean isViewFromObject(View arg0, Object arg1) { 70 return arg0 == arg1; 71 } 72 73 public void setViewsId(int... ids) { 74 LayoutInflater inflater = getLayoutInflater(); 75 for (int id : ids) { 76 View v = inflater.inflate(id, null); 77 viewList.add(v); 78 } 79 } 80 81 public View getLastView() { 82 return viewList.get(viewList.size() - 1); 83 } 84 } 85 86 }
Xamarin.Android -> Xamarin.IOS -> 混合 -> Xamarin.Forms
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?