您的位置:首页 > 移动开发 > Android开发

Android学习记录:界面设计

2016-07-10 23:59 776 查看
本片文章将记录进行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 界面设计