編輯:關於Android編程
1.設置屬性值
在system/build.prop文件中加入 ro.sf.hwrotation= 80
2.設置窗體默認顯示方向
在frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp文件中找到方法
setDisplayHardware
在switch中加入
case 180:
displayOrientation = ISurfaceComposer::eOrientation180;
break;
3.設置窗體動畫旋轉方向
a > 在frameworks/base/core/java/android/view/Surface.java 加入方法
/**
* @hide
*/
public static int getDefaultRotation(){
return android.os.SystemProperties.getInt("ro.sf.hwrotation", 0);//180
}
/**
* @hide
*/
public static int getDefaultRotationIndex(){
int rotation = getDefaultRotation();
switch(rotation){
case 0:
return ROTATION_0;
case 90:
return ROTATION_90;
case 180:
return ROTATION_180;
case 270:
return ROTATION_270;
}
return ROTATION_0;
}
b > 在
frameworks/base/services/java/com/android/server/vm/ScreenRotationAnimation.java 文件中找到(android4.1) 方法setRotation
或(android4.2)方法setRotationInTransaction
修改 deltaRotation(rotation,Surface.ROTATION_0);
為deltaRotation(rotation,Surface. getDefaultRotationIndex());
3 .修改最近程序視圖方向
在
frameworks/base/packages/systemui/src/com/android/systemui/RecentsPanelView.java 文件中修改如下
private int mThumbnailHeight;//add
在方法中添加
public void updateVoluesFromResources(){
………………………………………………..
mThumbnailHeight = Math.round(res.getDimension(R.dimen.status_bar_recents_thumbnail_height));//add
}
在方法中添加
private void updateThumbnail(…) {
else {
Matrix scaleMatrix = new Matrix();
float scale = mThumbnailWidth / (float) thumbnail.getWidth();
scaleMatrix.postScale(scale, scale);//setScale
h.thumbnailViewImage.setScaleType(ScaleType.MATRIX);
h.thumbnailViewImage.setImageMatrix(scaleMatrix);
//add
if(Surface.getDefaultRotation() > 0){
Matrix rotateMatrix = new Matrix();
rotateMatrix.setRotate(Surface.getDefaultRotation(),mThumbnailWidth/2,mThumbnailHeight/2);
h.thumbnailViewImage.setImageMatrix(rotateMatrix);
}
//add end
}
4.修改截屏圖片方向
在frameworks/base/pacikages/systemui/src/com/android/systemui/GlobalScreenshot.java 文件中找到takeScreenshot方法
修改 float degrees = getDegreesForRotation(mDisplay.getRotation());
為
int rotation = mDisplay.getRotation();
if(Surface.getDefaultRotation() > 0){
rotation = (rotation + Surface.getDefaultRotationIndex())%4;
}
float degrees = getDegreesForRotation(rotation);
OK 這樣就完成屏幕旋轉180度
實現了浏覽器的返回 前進 主頁 退出 輸入網址的功能注釋的很清楚啦 就不多說了首先是布局文件 <linearlayout xmlns:android=&q
Android Studio配置及使用OpenCV 前言:最近在做項目移植,項目較大,在Eclipse中配置的Jni及OpenCV環境沒任何問題,但是遷移到St
1、首先解決【設置】界面默認顯示【開發者選項】的問題查看源代碼:packages/apps/Settings/src/com/android/settings
四、Activity 4.1 Activity Activity是應用程序的入口。負責創建才窗口(setContextView(View)),和用戶交互等。 4.1.