android,PopupWindow,Toast,GridView,progressHUD,dialog

Android-自定义PopupWindow good

AlertDialog修改title,message,button样式 good

还可以不设置title 和确定 取消按钮,只设置view

NavigationView的使用 

long long ago,我们做抽屉菜单的时候,左边滑出来的那一部分的布局都是由我们自己来定义的,自己写的话,花点时间也能做出来好看的侧拉菜单,但总是要耗费时间,于是Google在5.0之后推出了NavitationView,就是我们左边滑出来的那个菜单。这个菜单整体上分为两部分,上面一部分叫做HeaderLayout,下面的那些点击项都是menu,这样的效果如果我们要自己写肯定也能写出来,但是没有必要,既然Google提供了这个控件,那我们就来看看这个控件要怎么用吧。

  

view.getParent()与view.getRootView() good

Android减少布局层次--有关Activity根视图DecorView的思考

 

android中GridView设置间距

1.两列之间的间距。android:horizontalSpacing  函数:setHorizontalSpacing(int)

2.两行之间的间距。android:verticalSpacing  函数:setVerticalSpacing(int)

 

Android5.0之CoordinatorLayout的使用

但是显示效果大家应该都看到了,就是当在页面的上方有一个图片,当底部的控件向上滑动时,上方的图片慢慢的折叠起来,最终变成一个Toolbar,显示在页面的最上方。

 

使用getWindow().addFlags( WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);其他编辑框不能正常编辑问题

  

如何消除自定义AlertDialog圆角化的阴影或者黑色边框

ANDROID布局实现圆角边框

Android创建自定义dialog方法详解-样式去掉阴影效果

 

android AlertDialog自定义大小

AlertDialog.Builder builder = new AlertDialog.Builder(this);  
        builder.setView(LayoutInflater.from(context).inflate(R.layout.select_birthday_item,null));  
        builder.setTitle("选择出生日期");  
        AlertDialog alertDialog = builder.create();  
        alertDialog.show();  
        WindowManager.LayoutParams  lp= alertDialog.getWindow().getAttributes();  
        lp.width=350;//定义宽度  
        lp.height=300;//定义高度  
        alertDialog.getWindow().setAttributes(lp);  

 

关于ProgressDialog.show抛出android.view.WindowManager$BadTokenException: Unable to add window

 

导致异常的原因就是这个getApplicationContext(),虽然这里的参数也是获得一个context,但不能使用getApplicationContext()获得的Context。

必须使用Activity,因为只有一个Activity才能添加一个窗体

解决方法:将参数中的getApplicationContext() 改为xxActivity.this就ok了

ProgressDialog对象是依赖于一个View的,而View是和一个Activity对应的。 于是,这里涉及到一个生命周期的问题,this.getApplicationContext()取的是这个应 用程序的Context,Activity.this取的是这个Activity的Context,这两者的生命周期是不同 的,前者的生命周期是整个应用,后者的生命周期只是它所在的Activity。而ProgressDialog应
该是属于一个Activity的,在Activity销毁的时候它也就销毁了,不会再存在;但是,如果传 入this.getApplicationContext(),就表示它的生命周期是整个应用程序,这显然超过了它 的生命周期了。 所以,在这里我们只能使用Activity的this。

 

实现在popwindow中展示listview列表 good

android中实现带图片和checkbox的listview good

人整理的一个工具类的集合,包括一些自定义的View good

  Android自定义View——菊花进度条

android开发仿ios菊花LoadingView特效 good

 Android动画学习(三)之使用ValueAnimator和ObjectAnimator实现动画实例

Android自定义View——菊花进度条

 Android 转菊花控件:loading加载常用

MClearEditText

material-dialogs

Android-SVProgressHUD

MNCalendar 日历 

GankMM 干货营 good 多种控件

maning0303/MNProgressHUD good kotlin 写的

和我一起实现EditText一键清空功能 good

TextWatcher实现一键清空EditText

 

android-custom-views good github

Kyson/WhorlView good

Android特效 五种Toast详解

android基于dialog加载时转圈圈的demo

android 加载数据或提交数据时显示转圈的提示页面

 

Android定点刷新Listview(Gridview)Item!实现指定Item刷新

 

  1. AlertDialog.Builder builder = new AlertDialog.Builder(this);  
  2.         builder.setView(LayoutInflater.from(context).inflate(R.layout.select_birthday_item,null));  
  3.         builder.setTitle("选择出生日期");  
  4.         AlertDialog alertDialog = builder.create();  
  5.         alertDialog.show();  
  6.         WindowManager.LayoutParams  lp= alertDialog.getWindow().getAttributes();  
  7.         lp.width=350;//定义宽度  
  8.         lp.height=300;//定义高度  
  9.         alertDialog.getWindow().setAttributes(lp);  
posted @ 2017-09-05 21:01  阿哲工具箱diqqxu  阅读(173)  评论(0编辑  收藏  举报