zhanghuayan 发布的文章

自定义ProgressDialog


起步

主要实现方法为使用Dialog,将布局改写为ProgressDialog

编码

先编写主要界面布局my_lodding_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:wheel="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/dialog_view"
    >
    <com.pnikosis.materialishprogress.ProgressWheel
        android:id="@+id/progress_wheel"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_centerHorizontal="true"
        wheel:matProg_barColor="@color/mainColor"
        wheel:matProg_progressIndeterminate="true"
        />
</LinearLayout>

其中com.pnikosis.materialishprogress.ProgressWheel 为github开源组件,下载地址


RecycleView使用(一)


RecyclerView架构,高度的解耦,异常的灵活.通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。

起步

  • 控制其显示方式,通过布局管理器LayoutManager
  • 控制Item间的间隔(可绘制),通过ItemDecoration
  • 控制Item增删的动画,通过ItemAnimator
  • 控制点击、长按事件,得自己通过接口回调的方式进行

    Android Studio配置

    在build.gradle中的dependencies添加

    compile 'com.android.support:recyclerview-v7:22.2.1'


浅析Android Material Design Support Library(三)——FloatingActionButton


Google最近为了让开发者更好的更规范的应用Material Design设计思想,特意放出了android support design library,里面含有更多Material Design的标志性组件,其中最常用的就是那个圆形按钮,叫做Floating Action Button,可以简称为FAB。

举个栗子

<android.support.design.widget.FloatingActionButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                app:borderWidth="0dp"
                app:rippleColor="@color/mainColor"
                app:backgroundTint="@color/mainColor"
                app:elevation="6dp"
                app:pressedTranslationZ="12dp"
                android:src="@drawable/plus"
                />


Activity间的切换动画


最近看material design设计,可惜的谷歌官方提供的Activity Transition仅支持API21及以上,这就意味着大部分的低版本的手机就不发使用这个api了,那么我们要怎么解决这个问题呢?接下来本文将主要介绍,如何在开启activity和关闭activity时添加动画效果,不会太突兀的一下子切换到另一个activity,也显得比较平滑。喜欢的朋友可以参考一下。

其实呢?在Android2.0开始在Activity增加了一个方法:

public void overridePendingTransition (int enterAnim, int exitAnim)

其中: enterAnim 定义Activity进入屏幕时的动画 exitAnim 定义Activity退出屏幕时的动画 注意:

  • overridePendingTransition 方法必须在startActivity()或者 finish()方法的后面。
  • 在startActivity()后面添加效果,就是开启的时候效果。
  • 在finish()方法的后面后面添加效果,就是在用户按返回键的时候的效果。


EditText只有底部边框的XMl实现方式


实现思路

  • 定义没有选择时的shape样式,把size的height定位1dp,设置solid边框样式。
  • 同上定义选中时的shape样式。
  • 设置selecter选择器
  • 把EditText的backgroun设为null
  • 把EditText的drawableBottom设置为select。

bg_edittext.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" android:drawable="@drawable/bg_edittext_normal" />
    <item android:state_focused="true" android:drawable="@drawable/bg_edittext_active" />
</selector>