android开发我的新浪微博客户端-用户授权页面UI篇(3.1)

上一篇讲了讲OAuth授权认证的事情,大概的介绍了OAuth的原理,并且完成了一个OAuth.java的类库,提供了几个OAuth认证必要的方法,本篇开始具体讲本项目的用户授权功能,用户授权页面是当用户第一次使用本软件的时候自动从载入页面跳转过来的显示的页面,涉及OAuth认证相关都是在上一篇的OAuth.java的类基础上开发。用户授权页面分为UI篇和功能篇两篇,本篇先来讲讲UI的实现,这次就不贴PS的效果图了直接贴实现后的功能截图如下:

 

      看上面的图,其实这个页面的UI实现不复杂,首先是背景部分的实现这个参考 android开发我的新浪微博客户端-载入页面UI篇(1.1),重点来讲讲这个半透明的弹出对话框窗口是如何实现的,首先新建名为AuthorizeActivity.java的Activity,并且在AndroidManifest.xml文件中添加这个Activity,这样这个Activity才能被使用,接下来为这个Activity新建名为authorize.xml的Layout,这个Layout很简单只负责logo小图标显示,背景部分和透明窗口都是有代码来实现,所以非常简单参考 android开发我的新浪微博客户端-载入页面UI篇(1.1)。

       完成Layout建立后在AuthorizeActivity的onCreate方法添加如下代码,设置authorize.xml为AuthorizeActivity的页面Layout:

      接下来是本文的重点部分,半透明弹窗用Dialog控件进行实现,首先为这个半透明弹窗新建一个名为dialog.xml的Layout,这个Layout主要是对4个元素进行布局,如图所示分别为i小图标信息提示中间文字开始按钮,首先用LinearLayout对i小图标信息提示进行水平布局,中间文字以一个TextView跟在下面,对于开始按钮是用RelativeLayout进行底部对齐显示。具体代码如下:

 代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  
xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width
="wrap_content"
  android:layout_height
="wrap_content"
  android:orientation
="vertical"
  android:padding
="10dip">
  
<LinearLayout
  
android:layout_width="wrap_content"
  android:layout_height
="wrap_content"
  android:orientation
="horizontal">
  
<ImageView
  
android:layout_width="wrap_content"
  android:layout_height
="wrap_content"
  android:src
="@drawable/info_icon">
  
</ImageView>
  
<TextView
  
android:layout_width="wrap_content"
  android:layout_height
="wrap_content"
  android:text
="信息提示"
  android:textSize
="13px"
  android:textColor
="#219ac6"
  android:layout_marginLeft
="5dip">
  
</TextView>
  
</LinearLayout>
  
<TextView
  
android:id="@+id/text_info"
  android:layout_marginTop
="6px"
  android:layout_width
="200px"
  android:layout_height
="wrap_content"
  android:textColor
="#686767"
  android:textSize
="14px"
  android:text
="第一次使用需要输入您的新浪微博账号和密码进行登录授权">
  
</TextView>
  
<RelativeLayout
  
android:layout_width="fill_parent"
  android:layout_height
="40px">
      
<LinearLayout
      
android:layout_width="wrap_content"
      android:layout_height
="wrap_content"
      android:orientation
="horizontal"
      android:layout_centerHorizontal
="true"
      android:layout_alignParentBottom
="true">
          
<ImageButton
          
android:id="@+id/btn_start"
          android:layout_width
="80px"
          android:layout_height
="31px"
          android:src
="@drawable/btn_start_selector">
          
</ImageButton>
          
<ImageButton
          
android:id="@+id/btn_cancel"
          android:layout_width
="80px"
          android:layout_height
="31px"
          android:layout_marginLeft
="8px"
          android:src
="@drawable/btn_cancel_selector">
          
</ImageButton>
      
</LinearLayout>
  
</RelativeLayout>
 
</LinearLayout>

 

      完成了半透明弹窗的Layout定义接下来我们要做的就是为它写一个自定义样式来实现我们想要的显示效果,首先我们需准备一个圆角的半透明png图片名为dia_bg.png并且添加到drawable中,接下来再res/values文件夹新建名为 dialogStyle.xml的resources样式文件,具体代码如下:

 

这个样式文件的说明如下

parent="@android:style/Theme.Dialog" :在系统Dialog样式基础上,相当于继承系统样式

<item name="android:windowFrame">@null</item> :Dialog的windowFrame框为无

<item name="android:windowIsFloating">true</item>:是否浮现在activity之上

<item name="android:backgroundDimEnabled">false</item>: 背景是否模糊显示

     接下来写java代码把这个半透明弹窗显示出来,在AuthorizeActivity的onCreate方法添加如下代码:

 

    最后运行查看效果,到这里我们的任务已经完成了。请关注下一篇功能篇。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

还缺30万人!程序员2020年要过好日子了……

全世界只有3.14 % 的人关注了爆炸吧知识最近&#xff0c;程序员届有一个重大好消息&#xff0c;可能很多人还不知道&#xff0c;那就是&#xff1a;国内某些城市已经开始程序员人才补贴了&#xff01;对于人工智能公司的项目开发、人才引进、科技研发&#xff0c;最高按照国拨经…

iNeuOS工业互联网操作系统部署在华为欧拉(openEuler)国产系统

目 录1. 概述... 32. 创建虚拟机&安装华为欧拉&#xff08;openEuler&#xff09;系统... 42.1 创建新的虚拟机... 42.2 默认选择Wowrkstation 16.x. 52.3 选择稍后安装操作系统... 62.4 选择其他Liunx 4.x 64位.…

datatables 一列显示两个字段的数据_【tableau入门教程16】计算字段

有时数据表中的原始维度和度量并不满足我们的需求&#xff0c;因此可通过计算字段功能&#xff0c;利用各种函数新建字段。创建字段步骤1、在侧栏 创建计算字段2、拖曳字段到输入框或是输入部分字段名称选择字段&#xff0c;当输入框下面显示“计算有效”时可点击 确定 完成计算…

gcc 安装包_LNMP安装的前期准备(LNMP一键安装包下载)

如果我们手工安装 LNMP 环境&#xff0c;那么同样需要安装大概 14 个源码包(根据版本和功能不同而不同)。不过&#xff0c;现在网上非常流行的 LNMP 环境的搭建过程是采用 LNMP 一键安装包直接安装。这个一键安装包实际上就是一个事先写好的安装脚本&#xff0c;按照这个安装脚…

Dapr + .NET 实战(七)Secrets

什么是Secrets应用程序通常会通过使用专用的存储来存储敏感信息&#xff0c;如连接字符串、密钥等。通常这需要建立一个密钥存储&#xff0c;如Azure Key Vault、Hashicorp等&#xff0c;并在那里存储应用程序级别的密钥。要访问这些密钥存储&#xff0c;应用程序需要导入密钥存…

只有成年人才懂的“爽”,一定要安利给每一个人

▲ 点击查看在日常生活中&#xff0c;诸位是不是经常遇到这些问题&#xff1a;打球扭伤、骑车摔伤、跑步拉伤、户外受伤。或者经常伏案工作&#xff0c;一天上班下来&#xff0c;感觉肩膀酸痛到僵硬&#xff0c;对什么事都提不起兴趣。回到家腰酸、背疼&#xff0c;随便做个伸展…

xml.query() 实例演示

xml.query()函数&#xff0c;XQuery表达式可以返回xml一个单一的元素或是所有元素。 我们继续使用上一篇所创建表[dbo].[tbDevLanguage] http://www.cnblogs.com/insus/archive/2012/02/25/2367668.html 首先我们演示Query所有元素&#xff0c;注意一下查询节点&#xff0c;返回…

图像处理前沿技术_深入浅出人工智能前沿技术—机器视觉检测,看清人类智慧工业...

早在50年前&#xff0c;工业机器人就已经横空出世&#xff0c;给人类带来更多的方便与可能。今天&#xff0c;工业机器人正以迅猛的发展速度替代人工&#xff0c;从事繁重及枯燥的工作&#xff0c;并且向着更智能的方向在发展&#xff0c;而服务机器人&#xff0c;将会是下一个…

最全高考分数线出炉!!查了分后,这届学生为了过线真是太拼了.......

全世界只有3.14 % 的人关注了爆炸吧知识2020年高考成绩今天可以查了&#xff01;你还记得自己查分那天是什么心情吗&#xff1f;反正超模君当年是想看却又不敢看表面越是想要云淡风轻内心就越不受控制的心跳失控转眼过去了许多年又到了高考放榜的日子在这么欢乐的日子里怎么能缺…

学习笔记之web worker

当在 HTML 页面中执行脚本时&#xff0c;页面的状态是不可响应的&#xff0c;直到脚本已完成。web worker 是运行在后台的 JavaScript&#xff0c;独立于其他脚本&#xff0c;不会影响页面的性能。您可以继续做任何愿意做的事情&#xff1a;点击、选取内容等等&#xff0c;而此…

让人难以置信的HTML5和JavaScript实验

Google的 Chrome实验室收集了很多让人难以置信的基于 HTML5 Canvas 和 JavaScript 的实验项目&#xff0c;里面的例子都很独特&#xff0c;让人惊叹。我从未想过结合 HTML 和 JavaScript 能实现这么强大的效果。今天&#xff0c;本文与大家分享其中9个很棒的例子&#xff0c;为…

22468!Windows 11新预览版发布:旧版系统支持十月终止请速升

面向 Dev 频道的 Windows 预览体验成员&#xff0c;微软现已发布 Windows 11 预览版 Build 22468。Windows 11 Insider Preview Build 22468 主要变化如下&#xff1a;1.此前 Dev 频道推送的所有 Windows 11 预览版将于 2021 年 10 月 31 日到期&#xff0c;请立即更新到 Windo…

influxdb mysql对比_InfluxDB和MySQL的读写对比测试

今天进行了InfluxDB和MySQL的读写对比测试&#xff0c;这里记录下结果&#xff0c;也方便我以后查阅。操作系统&#xff1a; CentOS6.5_x64InfluxDB版本 &#xff1a; v1.1.0MySQL版本&#xff1a;v5.1.73CPU &#xff1a; Intel(R) Core(TM) i5-2320 CPU 3.00GHz内存 &#x…

Zabbix Maintenance 维护周期

为什么80%的码农都做不了架构师&#xff1f;>>> 概述 你可以定义维护周期在主机或主机组里。这里有2种维护状态&#xff0c;一种是停止对目标的监控数据的收集&#xff0c;一种是继续对目标的监控数据的收集。 当不想收到维护中的服务器的报警时候&#xff0c;需…

女生心中的理想男生!这些条件你符合几条?

1 女生心中的理想男生2 女人购物&男人购物3 好像有点混乱4 哥们和我女朋友整天打打闹闹&#xff0c;真无聊。5 分手吧6 妈妈专属头像-&#xff01;你点的每个赞&#xff0c;我都认真当成了喜欢

mysql 定义XML字段_MyBatis之基于XML的属性与列名映射

上一博客主要是对单表的增删改查&#xff0c;比较简单&#xff0c;而且每个属性与table表的列都是一一对应名字也一样&#xff0c;今天主要学习属性与table表列名不一致的处理&#xff0c;主要有两种一是属性与列名不一致&#xff0c;二是枚举的情况&#xff0c;这里暂时考虑的…

Dapr闪电说 - Dapr落地云原生架构

你认识Dapr么&#xff1f;出自微软&#xff0c;面向社区&#xff0c;开源的云原生工具Dapr已经发布多时了&#xff0c;你了解Dapr的相关知识么&#xff1f;无论你是.NET程序员还是Python &#xff0c;或者Java &#xff0c;还有Go等都可以用Dapr来完成你的云原生场景。本次闪电…

uboot移植9个步骤_不知道具体的新房装修步骤?9个步骤教你吃透装修

最近有同学准备装修新房了&#xff0c;不知道具体的装修步骤是怎么样的&#xff0c;需要花多少预算&#xff1f;装修时间要多久&#xff1f;其实这也不奇怪&#xff0c;很多没有装修经验的朋友对这方面都不太了解的&#xff0c;今天分享一般装修的流程工序&#xff0c;希望能给…

太牛了,原来古人是这样铸造钱币的。。。

全世界只有3.14 % 的人关注了爆炸吧知识古代钱币是怎么做出来的呢&#xff1f;今天与各位说说古钱币的铸造工艺&#xff0c;抛砖引玉让大家更多了解假货的鉴别特点。关于古代钱币铸造工艺的记录文献资料&#xff0c;遗留极少。关于母钱翻砂技术&#xff0c;最早的史料见于明代宋…

渲染终极者 finalRender R3.5 SE for 3ds max/design 2009/2010/2011 32位/64位 汉

中文名: 终级渲染器 渲染终极者 finalRender R3.5 SE for 3ds max/design 2009/2010/2011 32位/64位 顶渲简体中文版 资源格式: 压缩包 版本: R3.5 发行时间: 2010年 制作发行: 原创:cebas VISUAL TECHNOLOGY Inc 中文:顶渲 Ma5 www.toprender.com 地区: 德国 语言: 简体中文,…