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详解

动画类型

Androidanimation由四种类型组成

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


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

Android动画模式

Animation主要有两种动画模式
一种是tweened animation(渐变动画)
XMLJavaCode
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