本讲完成的效果为:

登录界面的布局代码(login.xml)为:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/main_bg"android:orientation="vertical" ><Buttonandroid:id="@+id/btn_add_accountn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="right"android:layout_marginRight="10dip"android:layout_marginTop="10dip"android:background="@drawable/add_account_d" /><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:background="@drawable/head_bg"android:gravity="center"android:layout_marginTop="20dip"android:orientation="vertical" ><ImageViewandroid:id="@+id/imge_user_head"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/user_head" /></LinearLayout><Spinnerandroid:id="@+id/spn_user_list"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/account_selete_bg"android:layout_gravity="center"android:layout_marginTop="10dip" /><Buttonandroid:id="@+id/btn_login"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginTop="10dip"android:background="@drawable/login_d"android:text="@string/login"android:textColor="@color/white"android:textSize="20dip" /></LinearLayout>

授权界面的布局(auth.xml)代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/main_bg" >
</LinearLayout>

授权界面中的子界面(authorize_dialog.xml)文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="15dip" ><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content" ><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/info" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:text="@string/authTip"android:textColor="@color/black"android:textSize="18dip" /></LinearLayout><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dip"android:layout_marginRight="5dip"android:layout_marginTop="10dip"android:text="@string/authTipMsg"android:textSize="15dip" /><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:layout_alignParentBottom="true"><Buttonandroid:id="@+id/btn_auth_begin"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginTop="10dip"android:background="@drawable/auth_begin_d"android:textColor="@color/white"android:textSize="20dip" /></RelativeLayout></LinearLayout>

然后再增加一个Activity(AuthActivity)就可以实现一个漂亮的界面啦

package haiyang.project.iweibo.ui;import haiyang.project.iweibo.R;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;public class AuthActivity extends Activity{private Dialog dialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);this.setContentView(R.layout.auth);View digView=View.inflate(this, R.layout.authorize_dialog, null);dialog=new Dialog(this, R.style.auth_dialog);dialog.setContentView(digView);dialog.show();}
}

在实际的按钮点击过程中,点击和松开后应该为两种不同的状态,这样子点击时才有点击感,具体的实现为在res下新建drawable的文件夹,增加一个布局(login.xml)文件

<?xml version="1.0" encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android"><item android:state_focused="true" android:state_enabled="true" android:state_pressed="false" android:drawable="@drawable/btn_bg_n" /><item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/btn_bg_p" /><item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/btn_bg_p" /><item android:drawable="@drawable/btn_bg_n" />
</selector>

这个文件可以实现点击和松开某个按钮时分别为不同的图像,涉及到类似功能实现的操作都是用这种方法,此讲中用到三处(一个登录按钮、一个下拉框、一个开始按钮),由于类似,此文不一一列出。

再就是让授权界面的提示文字友好的显示(authorize_dialog_style):

<?xml version="1.0" encoding="utf-8"?>
<resources><style name="auth_dialog" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item><!-- Dialog的windowFrame框为无 --><item name="android:windowIsFloating">true</item><!-- 是否浮现在activity之上 --><item name="android:windowIsTranslucent">false</item><!-- 是否半透明 --><item name="android:windowNoTitle">true</item><item name="android:windowBackground">@drawable/dialog_bg</item><item name="android:backgroundDimEnabled">false</item></style></resources>

总结一下,本讲学习到得新内容为:实现点击按钮(或下拉框)等操作时两种不同状态的不同效果,以及使界面更友好。

嘿嘿,各位写代码也有点累了吧,特别是深夜的时候是不是觉得应该有点吃的就更好了?可以到本人开

的小店“小灰灰休闲美食”店买点休闲食品哦,既满足食欲又可以放松哈子,当然平时也要吃是吧,也

可以买来送朋友哦!

新浪微博Android客户端学习记录三:完成登录界面和授权界面相关推荐

  1. 新浪微博Android客户端学习记录一:完成Logo界面

    http://blog.csdn.net/yanghai0321/article/details/7525919 前不久把<Android开发入门教程>看完,并手敲了大部分的示例代码,对a ...

  2. Android 开发学习记录(4)---- httpclient使用(三)

    之前在Android 开发学习记录(3)---- httpclient使用(二)中介绍了如何使用httpclient访问需要账户登录的网址,当然首先是要有一个合法的登录账户. 但是现在好多网站在登录时 ...

  3. 新浪微博Android客户端SSO授权认证缺陷

    从最近几年开始,做平台的公司都流行起Open API.这是一个非常好的理念,也受到广大开发者的欢迎.如今,开发一款软件,你可以很容易地集成微博.微信.人人网等流行社交媒介的分享功能,做一个社交应用变得 ...

  4. Android Studio学习记录之简单的页面切换及宫格菜单

    Android Studio学习记录之简单的页面切换及宫格菜单 之前上课听老师讲的一些东西自己其实并没有消化,今天把不懂的都去网上搜了一下,有了一种恍然大悟的感觉,包括很多方方面面的东西.有些东西听说 ...

  5. 行代码入门python_新浪微博Android客户端开发视频教程(36讲)

    教程名称:新浪微博Android客户端开发视频教程(36讲) 课程目录: [IT教程网]新浪微博Android客户端介绍 [IT教程网]新浪微博Android客户端相关资料 [IT教程网]新浪微博An ...

  6. Android动画学习记录二(属性动画、估值器和插值器)

    Android动画学习记录二(属性动画.估值期和插值器) Android动画学习记录二(属性动画.估值期和插值器) Android动画学习记录二(属性动画.估值期和插值器) 一.补间动画缺陷 二.属性 ...

  7. Kafka学习记录(三)——Broker

    Kafka学习记录(三)--Broker 目录 Kafka学习记录(三)--Broker 对应课程 Zookeeper存储的Kafka信息 Broker总体工作流程 Broker的服役和退役 Kafk ...

  8. Android动画学习记录一(Android动画种类、补间动画和帧动画)

    Android动画学习记录一(动画种类.补间动画和帧动画) 动画种类.补间动画和帧动画 Android动画学习记录一(动画种类.补间动画和帧动画) 一.动画种类 二.View动画 2.1 补间动画 补 ...

  9. Android Animation学习(三) ApiDemos解析:XML动画文件的使用

    Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...

最新文章

  1. TensorFlow tfjs 0.10.3 发布
  2. EasyUi 改变 selelct 的 下拉内容 div 的高度
  3. zookeeper与分布式系统
  4. Haproxy全透明代理
  5. ai作文批改_全球第一份机器人批改的作文 阿里AI批改中文试卷
  6. ftp连接报错:Windows无法访问此文件夹
  7. 鸿蒙首饰用什么合成,天下HD鸿蒙炼炉是什么?鸿蒙炼炉讲解
  8. Linux文本文件与Windows下的格式转换
  9. 必须拉响恶性通胀的警报
  10. Spring Mvc:用MultiPartFile上传单个文件,多个文件
  11. 鸿蒙系统sp3什么意思,XP系统的那个SP3是什么意思?
  12. ERNIE(二妮儿)模型初探
  13. Linux之NTFS、FAT32、exFAT 各种格式硬盘挂载整理
  14. 《Photoshop+Lightroom数码摄影后期处理经典教程》—第1章1.5节准备将Lightroom和Photoshop结合起来...
  15. 虚拟机重启网卡命令和防火墙关闭和开启
  16. Linux下查找指定日期的文件
  17. android 语音识别文字
  18. Powell算法、Powell修正算法_matlab仿真
  19. EnjoyToShare | 考研资料分享群
  20. spark官方配置参数详解

热门文章

  1. 苹果CMS V10模板精仿BT电影天堂影视模板PC+手机
  2. 【数模美赛】2021-2023年数模“论文手”经验分享
  3. StringBuffer和StringBuild的使用
  4. Sqlserver2019卸载
  5. CODING Compass —— 打造行云流水般的软件工厂
  6. 基于 JavaWeb 的社区管理系统
  7. python 100days github_GitHub - zhaoboshi/Python-100-Days: Python - 100天从新手到大师
  8. 文件post到服务器,http请求,POST一个文件到服务器,
  9. 计算机网络实验二:ARP欺骗
  10. MATLAB使用基础(第二节)