zoukankan      html  css  js  c++  java
  • 安卓自学经历之创建自定义控件——标题栏

      我是在今年7月份开始入手安卓(16年7月),买了一本《第一行代码》,看完直接做了个小项目。现在主要谈谈我是怎么样学以致用,运用学习知识解决遇到问题。我当时根据项目要求,要实现一个标题栏功能,有两个按钮,一个返回主页的主页按钮,一个进入图片管理的按钮,是的,确实是非常简单的一个功能,但对于完全新手的我还是有些挑战性的。

      我马上想到了《第一行代码》3.4节创建自定义控件,我翻开书本,发现书本里面也是实现一个自定义标题栏。

      首先,新建TitleLayout继承自LinearLayout,让它成为自定义标题栏控件,代码如下:

    这里重写了LinearLayout中的构造函数,对标题进行动态加载。

    然后,在布局文件中添加这个自定义控件,代码如下:

    最后在TitleLayout中为标题栏中的按钮注册点击事件。《第一行代码》里面的点击事件是返回以及弹出一段文本,而我需要的是返回首页和跳转到图片管理界面,因此我就要在TitleLayout中实现两个跳转,这时候我就想到利用2.3节使用Intent在活动之间穿梭。决定使用隐式Intent实现,但这时候问题来了,如果是跳转到图片管理界面,直接使用ImageListActivity在AndroidManifest中的action标签信息即可实现跳转。但如果跳转到首页也就是主活动,问题就来了,如果直接使用IndexActivity在AndroidManifest中的<action android:name="android.intent.action.MAIN"/>结果就是,直接跳到手机桌面,让你选择桌面应用,这当然不是想要的。最后的解决方法是,为IndexActivity在AndroidManifest再添加两个标签action和category,然后用新的标签传入Intent,就成功实现跳转到主页面功能。代码如下:

    以上是在Android Studio IDE下编译。 

  • 相关阅读:
    JS中的逻辑或||逻辑与&&
    for 循环里面事件函数的i值
    getByClass--js
    ul 宽度不固定居中
    style.top style.left js
    trigger() 触发事件
    JavaScript中hasOwnProperty函数
    使用windows powershell ISE管理命令窗口,并集成git命令
    nodeJs跨域设置(express,koa2,eggJs)
    node获取本机动态IP,并对应修改相关JavaScript文件的IP地址
  • 原文地址:https://www.cnblogs.com/uestczj/p/5691957.html
Copyright © 2011-2022 走看看