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