Android的Activity屏幕切换动画(一)-左右滑动切换

这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下。

在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法:

public void overridePendingTransition (int enterAnim, int exitAnim)

Read More

两个layout之间的滑动切换

如何在两个layout之间切换,就是一个activity中 两个LinearLayout,一个可见,一个不可见,然后从可见的那个切换到不可见那个,中间实现个滑动效果。

一、利用ViewFlipper实现

1、屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。
2、介绍ViewFilpper类
ViewFlipper
extends ViewAnimator
java.lang.Object
 ↳android.view.View
  ↳android.view.ViewGroup
   ↳android.widget.FrameLayout
    ↳android.widget.ViewAnimator
     ↳android.widget.ViewFlipper

Read More

App缓存管理

无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的压力,而且因为更快速的用户体验而方便了用户。
Android的apk可以说是作为小型应用,其中99%的应用并不是需要实时更新的,而且诟病于蜗牛般的移动网速,与服务器的数据交互是能少则少,这样用户体验才更好,这也是我们有时舍弃webview而采用json传输数据的原因之一。
采用缓存,可以进一步大大缓解数据交互的压力,特此,我们简略列举一下缓存管理的适用环境:

  1. 提供网络服务的应用
  2. 数据更新不需要实时更新,但是哪怕是3-5分钟的延迟也是可以采用缓存机制。
  3. 缓存的过期时间是可以接受的(不会因为缓存带来的好处,导致某些数据因为更新不及时而影响产品的形象等)

    Read More

LinearLayout 添加分割线/边框

推荐方法:

LinearLayout有两个属性

1、android:divider="@drawable"

drawable可以是图片文件,也可以是xml绘制的shape。

使用shape的时候一定要添加<size> 例如:

1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/account_line" />
<size android:height="1px" />
</shape>

Read More

Toolbar作为ActionBar与标题居中

Toollbar作为ActionBar很简单,直接获取到Toolbar后调用setSupportActionBar(toolbar);就行了,但是如果整个应用中统一使用Toolbar替代ActionBar的话,最方便的方式肯定是将Toolbar的布局提取出来然后在不同的Activity中直接include,像下面这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@null"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/AppTheme">
<TextView
android:id="@+id/toolbar_title"
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"/>
</android.support.v7.widget.Toolbar>

Read More