本片文章将记录进行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

      GitHub https://github.com/hoang8f/android-flat-button

      效果图:



      具体配置可以参考文章: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学习记录:界面设计的更多相关文章

  1. Android学习记录(3)—Android中ContentProvider的基本原理学习总结

    一.ContentProvider简介        当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据 ...

  2. mono for android 学习记录

    C#开发Android应用实战(全 扫描 中文版) 学习记录: 拖完控件后,不要急着按F5,需要重新生成,才能自动修改 Resource.Designer.cs 文件 1. Activity 是基于a ...

  3. android 学习记录-----------android 活动 意图 碎片

    将此篇博客作为记录android项目开发过程中的学习记录

  4. 中级实训Android学习记录——Toast、AlertDialog、ProgressBar

    学习记录 2020/11/22 Toast Toast Toast是一个消息提示组件 我们可以设置其显示的位置 自定义其显示的内容 对Toast的简单封装可以达到不同的目的 Toast的默认用法 To ...

  5. Android学习记录(三)——安装SQLite

    这次学习安装SQLite. 一.SQLite简介 重要特性:零配置,即不需要复杂的配置即可使用 详细:https://www.runoob.com/sqlite/sqlite-intro.html 二 ...

  6. 【Android】Android 学习记录贴

    官网 教程学习笔记 Genymotion 安卓虚拟器太慢,用Genymotion(装载eclipse的插件) 利用Genymotion运行Android应用程序 1.首先,点击 来启动或者创建您要使用 ...

  7. Android学习记录:ViewPager实现欢迎页

    许多APP在第一次启动的时候,都会有welcome page.近日尝试利用ViewPager来实现Welcome Page. d0711 完成记录,跟新下载地址 =================== ...

  8. Android学习记录(6)—将java中的多线程下载移植到Android中(即多线程下载在Android中的使用)③

    在这一节中,我们就来讲多线程下载以及断点续传在android中怎么使用,前两节是为本节做准备的,没有看前两节的同学,最好看完前面的两篇文章再来看这篇.其实在android端的应用和java基本上是差不 ...

  9. 【Android】登陆界面设计

    界面布局 布局其实很简单,用相对布局累起来就可以了,然后注册和记住密码这两个控件放在一个水平线性布局里 界面底部还设置了一个QQ一键登录的入口,可以直接用. 控件的ID命名有点乱 <?xml v ...

随机推荐

  1. git版本控制 for window安装和命令行使用

    Git 安装配置 Windows 平台上安装 在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行 ...

  2. C# 获取并判断操作系统版本,解决Win10、 Windows Server 2012 R2 读取失败的方案

    Windows 8.1, Win10之后,通过GetVersion and GetVersionEx 方法获取WIndows操作系统版本号的功能需要添加manifest文件后才能查找到,不然的话会查找 ...

  3. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...

  4. Tomcat结构、启动过程、关键组件简单分析

                            Tomcat   结构:   Tomcat最顶层容器叫Server,代表整个服务器,Server中包含至少一个Service,用于具体提供服务,Serv ...

  5. ubuntu下统计目录及其子目录文件个数

    查看某目录下文件的个数 ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括子目录里的. l ...

  6. 学习笔记TF035:实现基于LSTM语言模型

    神经结构进步.GPU深度学习训练效率突破.RNN,时间序列数据有效,每个神经元通过内部组件保存输入信息. 卷积神经网络,图像分类,无法对视频每帧图像发生事情关联分析,无法利用前帧图像信息.RNN最大特 ...

  7. ORACLE 程序包

    程序包由PL/SQL程序元素(变量,类型)和匿名PL/SQL(游标),命名PL/SQL 块(存储过程和函数)组成. 程序包可以被整体加载到内存中,这样可以大大加快程序包中任何一个组成部分的访问速度. ...

  8. windows 注入 之 SetWindowHookEx

    前面的项目用到hook 还是在半年前,没想到最近有用到了,说实话,在项目组就提出,能用别的办法还是不要用这种,毕竟不太正道(感觉哈). 最近又牵扯到第三方对接的任务,没办法我又回到了HOOK上了.与窗 ...

  9. FPS手游如何脱颖而出?看《CF手游》的性能突破之路

    WeTest导读 俗话说:用户体验不谈性能就是耍流氓. 在PC游戏上的性能问题并没有那么明显, 加个内存换个CPU或者刷个主频就能轻松搞定:到了手游时代后情况则显得比较严峻,捉襟见肘的内存使得资源加载 ...

  10. Oracle12c 在windonServer2012中安装的步骤

    oracle12c在windownServer2012中安装步骤  前期工作:<这个必须要安装:而且c$的C必须大写> 第一步:控制面板>所有控制面板项>管理工具>服务& ...