第二节总结
来源:互联网 发布:同业分销 知乎 编辑:程序博客网 时间:2024/06/10 02:21
这一节主要实现软件的闪屏页和引导页,
闪屏功能:
- 实现闪屏
- 判断程序是否第一次运行
- 自定义字体
- 实现全屏
引导页功能
实现滑动引导页
引导小圆点实现
一、实现闪屏+判断程序是否第一次运行:运用handler延迟2秒发送消息实现闪屏,根据sharedPreferences实现,代码如下
//实现闪屏,创建handler,接收处理消息 Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case StaticClass.HANDLER_SPLASH:
//判断是否首次运行 if (isFirst==true){ startActivity(new Intent(SplashActvitiy.this, Guide.class)); share.putBoolean(SplashActvatiy.this,StaticClass.ISFIRST,false); }else { startActivity(new Intent(SplashActvatiy.this,MainActicvity.class)); } break; } finish(); } };
//发送消息,延迟2000ms,获取sharedPreferences中StaticClass.ISFIRST的值,默认为true
handler.sendEmptyMessageDelayed(StaticClass.HANDLER_SPLASH,2000); isFirst= share.getBoolean(this,StaticClass.ISFIRST);
二、自定义字体
在工具类UtilTool中定义静态方法,在main-assets建立fonts文件夹放入字体文件
public static void setfont(Context mcontext, TextView mtextView){ //搞不懂怎么用 createFromAsset静态方法 直接用类名去引用 Typeface typeface=Typeface.createFromAsset(mcontext.getAssets(),"fonts/FONT.TTF"); mtextView.setTypeface(typeface);
调用:
UtilTool.setfont(this,bear);
三、实现全屏:
在AppComActivity中没有全屏them,所以自己定义,在values-styles中加入
<!--设置全屏主题--> <style name="NoActivityFullscreen" parent="Theme.AppCompat.Light.NoActionBar"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style>然后在AndroidManifest中引用即可
四、滑动引导页
主要是viewPager实现,由于相对布局所以先写ViewPager再写 ImageView,防止覆盖,无法点击
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/guide_viewpager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_alignParentStart="true"></android.support.v4.view.ViewPager><ImageView android:id="@+id/guide_back" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:layout_width="50dp" android:layout_height="30dp" android:src="@drawable/back"/></RelativeLayout>五、小圆点的实现
布局
<?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.support.v4.view.ViewPager android:id="@+id/guide_viewpager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentStart="true" android:layout_alignParentTop="true"></android.support.v4.view.ViewPager><<小圆点的布局,三个ImageView>> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="10dp" android:gravity="center"> <ImageView android:id="@+id/guide_img_01" android:layout_width="10dp" android:layout_height="10dp" /> <ImageView android:id="@+id/guide_img_02" android:layout_width="10dp" android:layout_height="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" /> <ImageView android:id="@+id/guide_img_03" android:layout_width="10dp" android:layout_height="10dp" /> </LinearLayout> <ImageView android:id="@+id/guide_back" android:layout_width="50dp" android:layout_height="30dp" android:layout_alignParentRight="true" android:layout_marginBottom="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:src="@drawable/back" /></RelativeLayout>实现:创建方法加载不同的图片
private void setpointimg(boolean ischeekd1,boolean ischeekd2,boolean ischeekd3){ if (ischeekd1){ i1.setBackgroundResource(R.drawable.point_on); }else { i1.setBackgroundResource(R.drawable.point_off); } if (ischeekd2){ i2.setBackgroundResource(R.drawable.point_on); }else { i2.setBackgroundResource(R.drawable.point_off); } if (ischeekd3){ i3.setBackgroundResource(R.drawable.point_on); }else { i3.setBackgroundResource(R.drawable.point_off); } }监听ViewPager滑动实现方法
public void onPageSelected(int position) {switch (position){ case 0: setpointimg(true,false,false); break; case 1: setpointimg(false,true,false); break; case 2: setpointimg(false,false,true); break; } }
六、一些小细节
获取ViewPager中的Button时
view2.findViewById(R.id.start)
实现view的隐藏与显示
可见(visible):
XML文件:android:visibility="visible"
Java代码:view.setVisibility(View.VISIBLE);
不可见(invisible):
XML文件:android:visibility="invisible"
Java代码:view.setVisibility(View.INVISIBLE);
隐藏(gone):
XML文件:android:visibility="gone"
Java代码:view.setVisibility(View.GONE);
接口实现view的点击方法
1.实现 View.OnClickListener
2.重写
public void onClick(View v) { switch (v.getId()){ case R.id.guide_back: case R.id.start: startActivity(new Intent(this, MainActivity.class)); finish(); break; } }3.调用
view.setOnClickListener(this);
阅读全文
0 0
- 第二节总结
- Java 第二节课 总结
- 计算机网络第二节课总结
- CSDN培训第二节课课后总结
- Oracle第二节课总结 函数
- 信息安全第二节课总结
- 软件测试第二节课总结
- 人工智能(AI)第二节课总结
- 909422229_kotlin第二节:基本语法总结
- 20171104c语言第二节总结
- 第二册第二单元总结
- 放假第二周总结
- 第二周总结
- 第二周总结
- 第二章 第十节 总结
- 第二天:总结
- 第二十一天:总结
- 第二十三天:总结
- Ubuntu 14.04安装JDK1.8.0_25与配置环境变量
- csu1775 悲催的移寝
- Tomcat 查看、停止、启动
- Android的电源管理分析
- F
- 第二节总结
- caffe SSD环境搭建过程遇到的问题
- AugularJS从入门到实践(二)
- Android异常:This Activity already has an action bar supplied by the window decor
- 酒客项目日志20170802
- show函数的调用,以及使用方法。
- Xshell中如何修改文件路径
- Hive常用语句记录
- bzoj3674 可持久化并查集加强版