2015年5月31日星期日

跳转页面(presentViewController)与关闭也页面

跳转
[self presentViewController:setupViewControll animated:YES completion:nil];
关闭

[setupViewControll dismissViewControllerAnimated:YES completion:nil];

2015年5月27日星期三

addSubview和 insertSubView 区别


A addSubview B  是将B直接覆盖在A的最上层
A insertSubView B AtIndex:2 是将B插入到A的子视图index为2的位置(最底下是0)
A insertSubView B aboveSubview:C  是将B插入A并且在A已有的子视图C的上面
A insertSubView B belowSubview:C  是将B插入A并且在A已有的子视图C的下面

2015年5月15日星期五

Android Studio 获取 debug.keystore的 签名包命令

C:\Program Files\Java\jdk1.8.0_25\bin>keytool.exe -list -v -keystore C:\Users\zard\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

下边是获取keysha
C:\Program Files\Java\jdk1.8.0_25\bin>keytool.exe -exportcert -keystore C:\Users
\zard\.android\debug.keystore -alias androiddebugkey -storepass android -keypass
 android | "G:\SoftWare\openssl64\openssl win7 x64\bin\openssl.exe" sha1 -binary
 | "G:\SoftWare\openssl64\openssl win7 x64\bin\openssl.exe" base64


在MAC下 
1.你首先要进入~的路径
2.keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android | openssl sha1 -binary |openssl base64


keytool.exe -exportcert -keystore G:\Project_AndroidStudio\IAM\IAm\iam_keystore.jks -alias kirsong -storepass 123qwe | "G:\SoftWare\openssl64\openssl win7 x64\bin\openssl.exe" sha1 -binary |
"G:\SoftWare\openssl64\openssl win7 x64\bin\openssl.exe" base64

MAC下 budeg.keystore 路径
/Users/<username>/.android/debug.keystore

SH1:keytool -list -keystore debug.keystore

2015年5月14日星期四

类方法嵌套使用(如 new AA().a().b())

public class AA{
        public AA a(){return this;}
        public AA b(){return this;}
    }


使用的时候可以直接 AA().a().b();一起定义完.他的返回方法是重点

2015年5月13日星期三

Fragment 嵌套使用(getChildFragmentManager)

要想在Fragment里边嵌套Fragment的话私用 getChildFragmentManager
用法跟 getFragmentManager一样

getChildFragmentManager().beginTransaction().add(R.id.linearLayout,new Fragment1()).commit();

这个资源ID是 Fragment的ID

2015年5月12日星期二

Android动画效果translate、scale、alpha、rotate详解

动画类型

Android的animation由四种类型组成

XML中
alpha渐变透明度动画效果
scale渐变尺寸伸缩动画效果
translate画面转换位置移动动画效果
rotate画面转移旋转动画效果


JavaCode中
AlphaAnimation渐变透明度动画效果
ScaleAnimation渐变尺寸伸缩动画效果
TranslateAnimation画面转换位置移动动画效果
RotateAnimation画面转移旋转动画效果

Android动画模式

Animation主要有两种动画模式:
一种是tweened animation(渐变动画)
XML中JavaCode
alphaAlphaAnimation
scaleScaleAnimation


一种是frame by frame(画面转换动画)
XML中JavaCode
translateTranslateAnimation
rotateRotateAnimation

Android动画解析
alpha xml 淡出效果

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3. <alpha   
  4.     android:fromAlpha="1.0"    
  5.     android:toAlpha="0.0"    
  6.     android:duration="500"  />   
  7. </set>   
  8. <!--    
  9.     fromAlpha:开始时透明度   
  10.     toAlpha: 结束时透明度   
  11.     duration:动画持续时间 -->  

alpha xml 淡入效果
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3. <alpha   
  4.     android:fromAlpha="0.0"    
  5.     android:toAlpha="1.0"    
  6.     android:duration="500"  />   
  7. </set>   
  8. <!--    
  9.     fromAlpha:开始时透明度   
  10.     toAlpha: 结束时透明度   
  11.     duration:动画持续时间 -->  


rotate.xml 旋转效果: 
[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">  
  3. <rotate                                        
  4.     android:interpolator="@android:anim/accelerate_decelerate_interpolator"   
  5.     android:fromDegrees="300"   
  6.     android:toDegrees="-360"   
  7.     android:pivotX="10%"   
  8.     android:pivotY="100%"   
  9.     android:duration="10000" />   
  10. </set>   
  11. <!--    
  12.   fromDegrees   动画开始时的角度   
  13.   toDegrees     动画结束时物件的旋转角度,正代表顺时针     
  14.   pivotX    属性为动画相对于物件的X坐标的开始位置  
  15.   pivotY    属性为动画相对于物件的Y坐标的开始位置    -->   


scale.xml 缩放效果: 
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3. <scale     
  4.     android:interpolator= "@android:anim/decelerate_interpolator"         
  5.     android:fromXScale="0.0"     
  6.     android:toXScale="1.5"     
  7.     android:fromYScale="0.0"     
  8.     android:toYScale="1.5"     
  9.     android:pivotX="50%"     
  10.     android:pivotY="50%"     
  11.     android:startOffset="0"     
  12.     android:duration="10000"    
  13.     android:repeatCount="1"     
  14.     android:repeatMode="reverse"  />   
  15. </set>   
  16.   
  17. <!--    
  18. fromXDelta,fromYDelta       起始时X,Y座标,屏幕右下角的座标是X:320,Y:480   
  19. toXDelta, toYDelta      动画结束时X,Y的座标 --> <!--    
  20. interpolator                    指定动画插入器  
  21. 常见的有加速减速插入器         accelerate_decelerate_interpolator  
  22. 加速插入器               accelerate_interpolator,  
  23. 减速插入器               decelerate_interpolator。   
  24. fromXScale,fromYScale,         动画开始前X,Y的缩放,0.0为不显示,  1.0为正常大小  
  25. toXScale,toYScale,          动画最终缩放的倍数, 1.0为正常大小,大于1.0放大  
  26. pivotX,  pivotY         动画起始位置,相对于屏幕的百分比,两个都为50%表示动画从屏幕中间开始   
  27. startOffset,                动画多次执行的间隔时间,如果只执行一次,执行前会暂停这段时间,  
  28.                     单位毫秒 duration,一次动画效果消耗的时间,单位毫秒,  
  29.                     值越小动画速度越快 repeatCount,动画重复的计数,动画将会执行该值+1次   
  30.                     repeatMode,动画重复的模式,reverse为反向,当第偶次执行时,动画方向会相反。  
  31.                     restart为重新执行,方向不变 -->  




translate.xml 移动效果: 
[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">  
  3. <translate   
  4.     android:fromXDelta="320"   
  5.     android:toXDelta="0"   
  6.     android:fromYDelta="480"   
  7.     android:toYDelta="0"   
  8.     android:duration="10000" />   
  9. </set>   
  10. <!--    
  11. fromXDelta,fromYDelta   起始时X,Y座标,屏幕右下角的座标是X:320,Y:480   
  12. toXDelta, toYDelta     动画结束时X,Y的座标 -->   

PopupWindow 控件上边显示

mFileBoxButton.getLocationOnScreen(mBottomMenulocation);
                mFileBoxPopupWindow.showAtLocation(mFileBoxButton, Gravity.BOTTOM,0, DoContent.ScreenHeigh-mBottomMenulocation[1]);

int[] mBottomMenulocation

getLocationOnScreen这个挺实用的. 获取对应应用的坐标

2015年5月8日星期五

Youtube 开发

这是官网:https://developers.google.com/youtube/

官网里已经说明了使用步骤.但再说明一下开发时候遇到的问题.

1.在google developer申请应用,并申请auto2.0与api key

1-1:登录谷歌开发者控制台申请应用.https://console.developers.google.com/project

1-2: 允许使用 

1-3:添加认证. 要把Auto2.0跟API KEY都得添加. 比较重点
 这里重要是 要记住API 키 这是一会儿要在 SAMPLE 代码里用到的 developer key。


2. 使用Simple Sourse 了解YOUTUBE

  2-1 Simple Sourse下载我就不多说了。 这里重要一点需要修改 代码里边的 DEVELOPER_KEY 这个值是 1-3里边的 API KEY

 2-2 在代码当中YouTubePlayer.Provider.cueVideo(vedioID). 这里当中的vedioid是 你在YOUTUBE上上传的网址的v的参数。比如 https://www.youtube.com/watch?v=mkNztwWwNls中的 mkNztwWwNls
当然也有用网址形式播放的。只不过方法不用养.loadPlay