Android学习记录:界面设计
本片文章将记录进行android界面开发时积累的知识
包括
- activity全屏
- activity跳转
- button设计
- 逐个输入编辑框设计
d0710 合并旧文章总结更新
d0721 添加内容
==========================================================================
设置App全屏的几种方法
最直接的是在一个activity的建立onCreate方法下,在super.onCreate()和setContentView()之间加入以下语句:
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams. FLAG_FULLSCREEN);还可以直接在AndroidManifest中application中加入以下语句:android:theme=”@style/AppTheme”
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
...
</application>
但是第二种方法会调用系统的主题,需要自己设置字体、颜色等参数,而且Android:Onclick有可能失效,需要手动添加监听器。
activity 跳转的几种方法
- 淡入淡出
系统自带动画
在intent开始后,可以加入Intent intent = new Intent(this,StorySel.class);
startActivity(intent);
this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);自己写淡入淡出的动画
alpha_in.xml<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="1500" />
</set>
<!--
fromAlpha:开始时透明度
toAlpha: 结束时透明度
duration:动画持续时间
-->
alpha_out可以根据其上写出,参数可以自行修改。
- 左右滑入滑出
left_in.xml<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
>
<translate
android:duration="200"
android:fromXDelta="-100%"
android:toXDelta="0" />
</set>
<!--
duration: 动画时间
fromXDelta:开始时X
toXDelta:结束时X
-->
按钮设计
- 利用PS绘出PNG格式的Button,并设置为ImageButton
利用xml描述文件绘制Button
圆角矩形button设计如下
mybtn.xml<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="rectangle" >
<!-- 填充的颜色 -->
<solid android:color="#FFA500"></solid>
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="15dip" />
<!-- padding:Button里面的文字与Button边界的间隔 -->
<padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp" />
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#FFDEAD" />
<corners android:radius="15dip" />
</shape>
</item>
</selector>在对应的button中加入语句即可
android:background="@drawable/mybtn"效果如图:
扁平化风格按钮库:FButton
效果图:
具体配置可以参考文章:http://blog.csdn.net/jack_king007/article/details/43867105
逐个输入编辑框设计
效果图如下
大体思路为利用OnKeyListener来监听回退键,利用TextChangedListener来监听文本的变化。
为这组EditText均加入这两个监听器。
建立一个方法,从这些EditText集合中获取总的文本。同时也可以获取输入的个数。
EditText提供了setFocusableInTouchMode、setFocusable与requestFocus。当需要跳转到下一个时,可以这样写:nextEditText.setFocusableInTouchMode(true);
nextEditText.setFocusable(true);
nextEditText.requestFocus();
preEditText.setFocusableInTouchMode(false);
preEditText.setFocusable(false);我的解决方案是,在TextChangedListener中的afterTextChanged方法中监听文本框的向后跳转。在OnKeyListener中监听Del键,从而实现相前跳转。(Google官方的软键盘监听不到Del键,可以参考其他博客,重写EditText来解决)
Android学习记录:界面设计的更多相关文章
- Android学习记录(3)—Android中ContentProvider的基本原理学习总结
一.ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据 ...
- mono for android 学习记录
C#开发Android应用实战(全 扫描 中文版) 学习记录: 拖完控件后,不要急着按F5,需要重新生成,才能自动修改 Resource.Designer.cs 文件 1. Activity 是基于a ...
- android 学习记录-----------android 活动 意图 碎片
将此篇博客作为记录android项目开发过程中的学习记录
- 中级实训Android学习记录——Toast、AlertDialog、ProgressBar
学习记录 2020/11/22 Toast Toast Toast是一个消息提示组件 我们可以设置其显示的位置 自定义其显示的内容 对Toast的简单封装可以达到不同的目的 Toast的默认用法 To ...
- Android学习记录(三)——安装SQLite
这次学习安装SQLite. 一.SQLite简介 重要特性:零配置,即不需要复杂的配置即可使用 详细:https://www.runoob.com/sqlite/sqlite-intro.html 二 ...
- 【Android】Android 学习记录贴
官网 教程学习笔记 Genymotion 安卓虚拟器太慢,用Genymotion(装载eclipse的插件) 利用Genymotion运行Android应用程序 1.首先,点击 来启动或者创建您要使用 ...
- Android学习记录:ViewPager实现欢迎页
许多APP在第一次启动的时候,都会有welcome page.近日尝试利用ViewPager来实现Welcome Page. d0711 完成记录,跟新下载地址 =================== ...
- Android学习记录(6)—将java中的多线程下载移植到Android中(即多线程下载在Android中的使用)③
在这一节中,我们就来讲多线程下载以及断点续传在android中怎么使用,前两节是为本节做准备的,没有看前两节的同学,最好看完前面的两篇文章再来看这篇.其实在android端的应用和java基本上是差不 ...
- 【Android】登陆界面设计
界面布局 布局其实很简单,用相对布局累起来就可以了,然后注册和记住密码这两个控件放在一个水平线性布局里 界面底部还设置了一个QQ一键登录的入口,可以直接用. 控件的ID命名有点乱 <?xml v ...
随机推荐
- RabbitMQ入门-消息订阅模式
消息派发 上篇<RabbitMQ入门-消息派发那些事儿>发布之后,收了不少反馈,其中问的最多的还是有关消息确认以及超时等场景的处理. 楼主,有遇到消费者后台进程不在,但consumer连接 ...
- Shell排序
public void shellSort(int[] array) { int increment = array.length; do { increment = increment / 2; / ...
- (1)xcode基本设置和控制器等介绍
1.在IOS应用程序中,如果没有对storyBoard进和设置它的界面是非常大,有时候如果把元素放在右边会出现运行程序时超出显示界面而不显示的问题.为了解决这个问题我们通常会在用模拟器设置调试界面的时 ...
- golang 之验证码api
知识一:如何返回一个json数据? 先定义一个结构体ResponseData,2个参数,并返回的是json数据,key就是json后定义的名称 type ResponseData struct { S ...
- H5滚动轮播插件
概述 JRedu 随着前端技术的发展,越来越多的H5技术被应用到实际开发中,尤其是js插件更是无处不用,本章节我们主要分享下如何去自己封装一个滚动轮播插件. 1效果图如下: 2主要功能 支持超 ...
- JavaScript 排序算法(JavaScript sorting algorithms)
JavaScrip 排序算法(JavaScript Sorting Algorithms) 基础构造函数 以下几种排序算法做为方法放在构造函数里. function ArrayList () { va ...
- Eclipse中的Debug
一.Debug的基本过程 设置断点(双击待设断点左边行号处) 进入Debug模式(在待调试类上右键>调试方式,根据需求选择) 开始调试 二.Debug中的常用操作 继续执行[F8]:继续运行程序 ...
- Python解析PDF三法
span{line-height:2em} --> 最近做调研想知道一些NZ当地的旅游信息,于是在NZ留学的友人自高奋勇地帮我去各个加油站拿了一堆旅游小册子,扫描了发给我. 但是他扫描出的高清图 ...
- android学习ScrollView的使用
ScrollView 的使用相对来讲比较简单,通过包含更多的布局文件,使得上下滑动可以浏览到更多内容. 关于ScrollView有几个点需要注意的地方 1,ScrollView的滚动方式 Scroll ...
- 开源社交系统ThinkSNS v4.6.1更新日志及功能详解!
ThinkSNS 开源社交系统 v4.6.1更新日志 [修复]聊天无法使用emoji问题 [修复]后台禁用用户后,app第三方登录可登录问题 [修复]部分接口问题 [修复]h5个人中心获取用户信息问题 ...