已经好久没更新博客了,今天花点时间给大家写一篇布局开发。给大家带来的布局效果是仿照360安全卫士,因为这个小项目是某个公司需要开发的,闲着也是闲着,就给自己找点活干,这个项目暂时还是停在这。目前呢,只是完成了主界面大概布局,逻辑代码还没实现呢。

首先,我看到咱们的效果图。然后再看到360安全卫士的界面图。效果是不是还可以呢?图片素材我都是随便找的,后期真正做的时候得替换掉。


                                 

我们先从最上面说起,中间一个标题,右上角一个menu的图标,采用的是沉浸式标题栏。最下面是个自定义控件,大家也可以不使用自定义控件代替,不过为了后期的方便,我还是把它做成了自定义控件的形式。要实现沉浸式标题栏,我们只需要在Activity中加入这几行代码就可以了。

 if(VERSION.SDK_INT>=VERSION_CODES.KITKAT){        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);        }


在加入了下面三行代码后,再在xml布局文件中加入这两行。这两行很关键,不然的话就会造成明显影响。

 android:clipToPadding="true"     android:fitsSystemWindows="true"

演示代码如下:

protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //沉浸式状态栏        if(VERSION.SDK_INT>=VERSION_CODES.KITKAT){        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);        }        setContentView(R.layout.activity_main);        initView();    }



首先,我们创建一个activity_main布局文件,这个是自动生成的。代码如下:

                                 


在这,为了防止xml文件过长,不易于修改,使用了include嵌套了另外一个xml布局文件。引入方式如下。

 

中间部分的middle.xml代码如下:  


<?xml version="1.0" encoding="utf-8"?>                                                                                                                                               

大家可能好奇中间的那个线怎么实现的呢?其实很简单。我们可以用一个TextView就可以了,设置一下背景颜色,使得高度或者宽度为1dp就可以了。

另外,中间的那个按钮,当按下的时候颜色加深。这时候得增加selector选择器。

在Drawable目录下新增三个文件button_shape_be_pressed.xml,button_shape_not_press.xml,button_shape.xml。

  button_shape_be_pressed.xml文件如下:  

<?xml version="1.0" encoding="utf-8"?>            

button_shape_not_press.xml

<?xml version="1.0" encoding="utf-8"?>        

button_shape.xml代码如下:  

<?xml version="1.0" encoding="utf-8"?>        

把这三个文件放在Drawable目录下就可以了,在xml的Button控件设置下background就可以了。使用方式如下:  



好了,就是这么简单,看到布局文件的时候,熟能生巧,大家多多动手吧!   最后,给大家放上该软件的结构图。


更多相关文章

  1. Android实现资源动态加载的两种方式
  2. android出现注: 某些输入文件使用或覆盖了已过时的 API。 注: 有
  3. 史上最全面,最细的Android中layout建立子文件夹
  4. Android设备MTP方式连接PC增删文件无法实时更新的问题
  5. Mac下使用Eclipse实现Android中调用C/C++(NDK)基础详细教程
  6. 学习android, 自己编的一个黑白棋游戏 (提供源代码下载)
  7. Android(安卓)打开系统文件管理器,并返回选中文件的路径
  8. android项目创建xml和存储xml文件
  9. Android实现双向滑动特效的实例代码

随机推荐

  1. Android(安卓)studio添加第三方类库时出
  2. Android(安卓)studio 连接数据库小经历遇
  3. 安卓开发38:安卓的滚动条相关属性
  4. android编译错误,Android(安卓)requires c
  5. Android中使用Universal-Image-Loader图
  6. RelativeLayout的16种特有属性
  7. Android(安卓)SDK中国在线更新镜像服务器
  8. Android(安卓)5.1系统禁止通知状态栏下拉
  9. App 权限一点知识
  10. Android(安卓)Map开发基础知识学习笔记(