Android 个人博客客户端——My CSDN 的实现(5)
来源:互联网 发布:天津哪里有mac专柜 编辑:程序博客网 时间:2024/06/04 01:03
这一篇博客来讲一些可能容易被忽略的地方
一、TabPageIndicator的默认样式并不是就如My CSDN当中一样的,这个还需要为其指定主题样式
打开values文件夹下的styles.xml文件,删除系统默认的主题样式,建立自定义样式,用来设定标签颜色,宽度,字号,背景颜色切换等属性。
<resources> <style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="vpiTabPageIndicatorStyle">@style/MyWidget.TabPageIndicator</item> <item name="android:windowNoTitle">true</item> <item name="android:animationDuration">3000</item> <item name="android:windowContentOverlay">@null</item> </style> <style name="MyWidget.TabPageIndicator" parent="Widget"> <item name="android:gravity">center</item> <item name="android:background">@drawable/vpi__tab_indicator</item> <item name="android:paddingLeft">20dip</item> <item name="android:paddingRight">20dip</item> <item name="android:paddingTop">8dp</item> <item name="android:paddingBottom">8dp</item> <item name="android:textAppearance">@style/MyTextAppearance.TabPageIndicator</item> <item name="android:maxLines">1</item> </style> <style name="MyTextAppearance.TabPageIndicator" parent="Widget"> <item name="android:textStyle">bold</item> <item name="android:textSize">18sp</item> <item name="android:textColor">@drawable/viewpager_title_textcolor</item> <item name="android:layout_width">wrap_content</item> </style></resources>
当中还引用了drawable
文件夹下的vpi__tab_indicator
文件
<item name="android:background">@drawable/vpi__tab_indicator</item>
用于当标签切换时,将标签替换为白色字体。
之后在AndroidManifest.xml
中将主题样式修改为MyTheme
android:theme="@style/MyTheme"
二、在activity_main.xml布局中使用了NavigationView
,这是一个新控件,可以很方便地为侧边栏设定菜单列表
<android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header" app:itemTextColor="#000" app:menu="@menu/activity_main_drawer" />
当中需要引用一个菜单布局文件
创建一个menu文件夹,建立一个activity_main_drawer.xml
文件
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/nav_settings" android:icon="@drawable/ic_menu_manage" android:title="设置" /> <item android:id="@+id/nav_about" android:icon="@drawable/ic_menu_send" android:title="关于" /> </group></menu>
当中设定了两个菜单项,并设定了菜单名称与图标。
三、工程中引用了好几个依赖库,并需要导入support包,如果在布局文件中一直提示控件不明,那么可能就是依赖库导入不全了。
需要的全部依赖项如下图所示
系统自带的依赖库的导入方法是点击右上角的加号,选择library dependency
,输入要导入的包名,点击OK即可。
添加外部依赖库的方法是:点击左上角的加号,将依赖库作为Modules导入进来
然后选中app,点击右上角加号,选择Module dependency
,选择需要作为依赖项的Module就好了。
那个人CSDN个人客户端的开发流程就到这里介绍完毕了~有疑问的童鞋可以留言交流~
1 0
- Android 个人博客客户端——My CSDN 的实现(5)
- Android 个人博客客户端——My CSDN 的实现(1)
- Android 个人博客客户端——My CSDN 的实现(2)
- Android 个人博客客户端——My CSDN 的实现(3)
- Android 个人博客客户端——My CSDN 的实现(4)
- CSDN—android博客
- lucio博客-个人CSDN博客App客户端发布
- CSDN博客-客户端(非官方)
- 关于笔记本屏幕的一点个人意见——鄙人的第一篇CSDN博客
- Django学习(二)——实现个人博客网站
- 关于个人CSDN博客的格式规范
- 统计个人CSDN的博客文章数量
- 我的第一篇CSDN个人博客
- 用flask开发个人博客(37)—— 使用Flask-pagedown实现博客文章预览的功能
- 用flask开发个人博客(22)—— 使用Flask-Migrate实现数据库的更新
- 用flask开发个人博客(30)—— 用WerkZeug实现密码的加密存储
- http编程系列(二)——java爬虫实现刷个人博客的访问量
- CSDN个人博客开业
- javascript----概念
- JavaAPI之AnnotatedElement接口
- 笔记十:复制构造函数、深拷贝、浅拷贝
- Maven (POM+约定+生命周期 + 依赖) 战略分析
- c++实验7-函数
- Android 个人博客客户端——My CSDN 的实现(5)
- 二叉树的非递归建立(一)
- 一周乱弹(1,eclipse 远程调试tomcat。2,常量类的作用。3,通过花生壳实现远程连接 端口:3389),4oracle查询日期5,bootstrap文本样式6,6 js四舍五入
- poj 3669 bfs+预处理
- Android 6.0运行时权限
- LocalNote,让你像使用本地文件一样使用印象笔记(支持 markdown 格式)
- Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)
- Activity的入场动画合集
- 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇)