- 浏览: 5819203 次
- 性别:
- 来自: 上海
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
文章列表
先看一下图,有个直观的了解,向下拖动handle就“开门了”:
此DragLayout继承自LinearLayout,这样使得布局变的简单。
我把最顶部的View叫做HeadView,中间的叫“把手”HandleView,底部的叫ContentView,姑且这样叫着。
只有把手可以拖动,下面的ContentView不可以!
只要给DragLayout设置一个background,就会产生一个渐变显示背后布局的效果。
由于DragLayout继承自LinearLayout,所以背后的布局不属于DragLayout的范畴,
DragLayout只有三部分组成(HeadView,HandleVi ...
DragLayout显示在屏幕三分之二的地方,往下拖,即可显示背后的View
import android.content.Context;
import android.graphics.Rect;
import android.support.v4.view.ViewCompat;
import android.support.v4.widget.ViewDragHelper;
import android.util.AttributeSet;
import android.view.*;
import android.widget.FrameLayout;
im ...
按比例放大图片,不拉伸失真
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageView;
public class AspectRatioImageView extends ImageView {
public AspectRatioImageView(Context context) {
super(context);
}
public AspectRatioImageView(Contex ...
仿照淘宝和聚美优品,在商品详情页,向上拖动时,可以加载下一页。使用ViewDragHelper,滑动比较流畅。 scrollView滑动到底部的时候,再行向上拖动时,添加了一些阻力。
只支持两页!
import android.annotation.SuppressLint;
import android.content.Context;
import android.support.v4.view.GestureDetectorCompat;
import android.support.v4.view.ViewCompat;
import android.support ...
一个简单的小工具类,用来设置警示 View 的呼吸式背景颜色
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Build;
import android.view.View;
import java.util.Date;
/**
* 一个简单的小工具类,用来设置警示 View 的呼吸式背景颜色
*
* https://github.com/drakeet/BreathingViewHelper
*
* Created by drakeet on ...
带有增加与减少按钮的数量选择控件
用法:
<me.himanshusoni.quantityview.QuantityView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/quantityView_default"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android ...
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener {
View main;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreat ...
单手操作图片控件 镜像、置顶、缩放、移动
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolba ...
不仅实现了Lollipop中打开新的activity 的zoom效果(根据点击位置逐步展开过渡到新的界面),还实现了一个弹簧效果的ViewPager
public class MainActivity extends FragmentActivity {
private Context context;
private GridView gridView;
private ArrayList<Integer> imgList = new ArrayList<>();
private ArrayList<ImageI ...
适用于版本大于等于19以上。
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by zhy on 15/9/21.
*/
public class StatusBarC ...
不知从什么时候起,码农们都热衷于果冻、粘黏、水滴效果了,认为效果很酷很新奇
但是只是用而已,知道原理的并不多
本篇将实现一个最基本的效果(我也不知道该叫什么效果),见图
原理很简单,就是利用的了Path的quadTo方法,该函数用于绘制贝塞尔曲线
我懒得打字了,直接看代码:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Pa ...
TabLayout是android design包内的控件;
一般情况下,它总是喜欢和ViewPager成对出现;
典型的像如下的布局:
<!-- 如果你屏幕上显示只有少数 tab 的时候,可以设置tabMode="fixed",若很多需要拖动,则设置tabMode="scroll" -->
<!-- 如果 tabMode 设置成 scrollable 的,则tabGravity属性将会被忽略 -->
<!-- 其他可设置属性
app:tabIndicatorColor="#FF ...
接上一篇
由简到繁,循序渐进
实现了:
0,点击&长按事件;
1,header;
2,footer;
3,加载更多;
4,还想下拉刷新?“想的美,这本就不是RecyclerView该做的事情!”
import java.util.ArrayList;
import java.util.List;
import com.example.test.R;
import com.widget.view.HeaderFooterAdapter.ViewHolder;
import android.support.v7.widget.RecyclerView;
import ...
知道原理后,为RecyclerView实现同时带header和footer也就分分钟的事情了
你可以把GridLayoutManager(this, 3)中的第二个参数设置为1,那就变成一个带header和footer的ListView了。
注意,这里header和footer可以为null(没人规定一定要设置header或footer的,呵呵)
import java.util.ArrayList;
import java.util.List;
import com.example.test.R;
import com.widget.view.HeaderFooterAdap ...
RecyclerView是一个高度可定制性的View
本文将使用RecyclerView实现带header的grid
为了用RecyclerView创建一个带header的grid:
1,定义一个具有两种view类型的adapter,一个为header,一个为普通item。
2,nflate一个header,把它传递给adapter。
3,重写GridLayoutManager中的setSpanSizeLookup,在header所处的位置返回和span count (列数)相等的 span size。
import java.util.ArrayList;
import jav ...