當前位置:首頁 » 操作系統 » android源碼裁剪

android源碼裁剪

發布時間: 2022-07-22 04:44:50

1. android圖片編輯源碼 實現拍照與裁剪功能就行

我有拍照的程序代碼,然後拍完照把照片放在一個imageview裡面顯示在界面上,不知是否符合你要求?要的話可以發你

2. android 怎麼裁剪drawable

可使用ScaleType來指定drawable的縮放方式,來實現裁剪效果。

ImageView的Scaletype決定了圖片在View上顯示時的樣子,如進行何種比例的縮放,及顯示圖片的整體還是部分,等等。
設置的方式包括:
1. 在layout xml中定義android:scaleType="CENTER"
2. 或在代碼中調用imageView.setScaleType(ImageView.ScaleType.CENTER);

Scaletype的取值說明:
1. SetScaleType(ImageView.ScaleType.CENTER);
按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示

2. SetScaleType(ImageView.ScaleType.CENTER_CROP);

按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)

3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);
將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬

4. setScaleType(ImageView.ScaleType.FIT_CENTER);

把圖片按比例擴大/縮小到View的寬度,居中顯示

5. FIT_START, FIT_END在圖片縮放效果上與FIT_CENTER一樣,只是顯示的位置不同,FIT_START是置於頂部,FIT_CENTER居中,FIT_END置於底部。
在此就不給出示例了。

6. FIT_XY
不按比例縮放圖片,目標是把圖片塞滿整個View。

3. Android調用系統的圖片剪裁,剪裁框大小能設置嗎outputX和outputY不是

剪裁框大小可以設置,也可以手動拖動,outputX和outputY是用來指定輸出的圖片X Y軸的大小。


1.創建一個uri指向圖片路徑

Uri imageUri = Uri.parse(file:///sdcard/temp.jpg);


2.裁剪框設置代碼:

java">Intentintent=newIntent(Intent.ACTION_GET_CONTENT,null);
intent.setType("image/*");
intent.putExtra("crop","true");
//裁剪框比例
intent.putExtra("aspectX",2);
intent.putExtra("aspectY",1);
//圖片輸出大小
intent.putExtra("outputX",600);
intent.putExtra("outputY",300);
intent.putExtra("scale",true);
intent.putExtra("return-data",false);
intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
intent.putExtra("outputFormat",Bitmap.CompressFormat.JPEG.toString());
//不啟用人臉識別
intent.putExtra("noFaceDetection",false);
startActivityForResult(openAlbumIntent,PHOTO_ALBUM_REQUEST);


3.啟動裁剪即可

Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

takePhotoIntent .putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

startActivityForResult(takePhotoIntent , CAMERA_REQUEST);

4. 如何修改android7.0源代碼

在開發程序的過程中,少不了對源程序進行調試。下面介紹下如何在androidstudio中進行調試。工具/原料androidstudionexus7方法/步驟1、在androidstudio中新建默認的android應用app。2、點擊菜單欄的「Run」->「」。3、然後會打開「ChooseProcess」窗口。選中要調試的進程,然後點擊ok。4、console中會輸出:ConnectedtothetargetVM,address:'localhost:8601',transport:'socket'。說明已經可以進行調試。5、在MainActivity的第14行打斷點,然後運行程序,可以看到程序停在斷點上。

5. android 自定義view 怎麼裁剪畫布

最近用Android studio的時候發現電腦非常的卡,一打開Android Studio CPU就從35% ang ~ang~ang 然後就100%了,滑鼠都甩不動啊,根本沒法玩兒,在網上搜集資料後發現了解決辦法,找到Android studio的安裝目錄下的studio64.exe.vmoptions文件

6. android怎麼修改源碼

在Android界面的系統status bar上添加home,back,menu三個菜單,並完成對應的系統功能。並有higlight效果,修改status bar 高度和status bar上的文字尺寸。

這需要修改android sdk才能完成,我用的是eclair.下面就我的操作進行敘述。

1.首先完成界面顯示效果。

需要修改文件

./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java,仿照mBatteryIcon等icon的添加方式添加自定義的icon,圖片名稱指定就好了。另外還要記得修改./frameworks/base/core/res/res/values/arrays.xml,這里定義了icon的slot,並且決定了icon的擺放順序。

這樣,你需要的icon按鍵就可以顯示在系統的status bar上面了。

2.判斷touch event是否按動了某個icon

需要修改的文件

./frameworks/base/services/java/com/android/server/status/StatusBarView.java

首先在onTouchEvent函數中,獲取當前event的坐標,然後比較是否在某個按鍵范圍之內。由於系統對於statusBar的范圍已經有了定義,所以這里只需要比較橫坐標就可以了。

其次,也是這一步最關鍵的,怎麼獲取具體某一個icon的左右邊界坐標呢?系統的status bar左邊顯示的圖標都是notification, 右邊顯示的是系統icon. 也就是說左邊icon屬於mNotificationIcons,右邊的icon屬於mStatusIcons. 在文件StatusBarView.java中出現的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左邊的icon的left橫坐標。用N = mStatusIcons.getChildCount()得到共有幾個系統icon,其中包含visibility為false的icons.用mStatusIcons.getChildAt(N-i)得到的是從右邊數第i個的icon view. 這個view的getLeft()+offset就是這第i個icon的左邊橫坐標,對應的getRight()+offset就是這第i個icon的右邊橫坐標。本例中home鍵是右邊第2個icon.

3.定義icon響應事件

這里使用的方法是在StatusBarView.java中向

./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java發送一個Broadcast,讓StatusBarPolicy來完成具體的事件操作。這里需要注意的是不僅要在./frameworks/base/core/java/android/content/Intent.java中定義intent,還要在StatusBarPolicy的構造函數中添加該intent的過濾動作,即filter.addAction(Intent.ACTION_BACKICON_CHANGED).例如,按動了back鍵,如果當前事件為action_up,就向系統發送一個keyEvent,keyCode為KeyEvent.KEYCODE_BACK. 這里借用的是./frameworks/base/cmds/input/src/com/android/commands/input/Input.java中的sendKeyEvent函數,直接拷貝過來,按照需要稍微修改一下形參就可以了,過程不要修改。

需要說明的是,當點擊statusBar可以拉出來一個notification列表,當這個列表顯示出來的時候,這三個back, menu, home鍵的響應速度會非常慢,所以這時不響應事件並隱藏這三個鍵。具體做法是在StatusBarView的onTouchEvent()中判斷mService.mExpanded或者 mService.mTracking為真時就不做響應。mService是StatusBarService對象。隱藏三個鍵也是用Broadcast來做的,但這個intent是由StatusBarServie發出來的,當mExpandedVisible = false時顯示,當mExpandedVisible = true時隱藏。

這里還同時完成了highlight換圖的動作,也是用Broadcast來做得,處理過程一樣,就是需要區分action_down和action_up就可以了。

4.調整status bar的高度

如果你需要顯示較大的屏幕尺寸,同時statusBar的高度要拉大,上面的icon的size也需要調大。為了協調一致,顯示時間的字體和notification顯示的日期的字體也需要調大。具體做法如下:

a.調節status bar icon的size: 只調節status_bar.xml的textSize標簽似乎不起作用,同時又修改了./base/services/java/com/android/server/status/StatusBarIcon.java的t.setTextSize(32);語句才成功。不知道修改status_bar.xml的<com.android.server.status.AnimatedImageView>標簽下的layout_height值是不是必須的,反正我是一起都給改了。

b.調節status bar height: ./base/core/res/res/values/dimens.xml 找得我好辛苦!不知道還需不需要修改./base/core/res/res/values/themes.xml中的Window attributes的windowTitleSize值,反正我也給改了。

c.調節notification顯示日期字體的大小,修改status_bar.xml的<com.android.server.status.DateView>的textSize值。

到這里,就完成了所有工作,看看效果吧。

7. 如何在android 源碼提取一個完整的apk

一、工具准備:apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的java源碼
1.用解壓工具從 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex)得到一個 jar文件
2.用jd-gui反編譯工具將得到.jar文件反編譯成.java文件
三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml)反編譯xxx.apk包
2.從 xxx_xml 文件夾得到xml文件
四、第二步 得到的程序源代碼 和 第三步 得到的xml文件組合下,即可得到完整的apk源碼。
五、應用: 漢化/去廣告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr
1.在步驟三的文件夾xxx_xml/res/ 下, 建文件夾: values-zh-rCN,values-zh-rTW
2.1復制values\strings.xml 到 values-zh-rCN 並翻譯.
2.2 去廣告見;
3.重建APK,用命令(apktool b xxx) ,輸出到ABC/dist/out.apk
或命令( apktool b xxx out.apk)
六、重新打包 和 簽名

8. 如何編輯android 系統源碼

1、通過 ubuntu 軟體中心安裝 wine;
2、通過 ubuntu 軟體中心安裝 winetricks;
3、通過 winetricks 在 shell中輸入: winetricks mfc42

1、通過 wine windows 的方式啟動代理伺服器
2、設置瀏覽器代理伺服器
3、設置shell代理伺服器:
在shell中輸入 sudo gedit /etc/bash.bashrc
在文件 /etc/bash.bashrc 中添加

通過shell安裝如下的組件:
1、sudo apt-get install bison g++-multilib git gperf libxml2-utils
2、新建一個存放源碼的目錄,如:mkdir ~/andorid/source
3、在源碼目錄中輸入命令:repo init -u -b android-4.0.1_r1
其中: android-4.0.1_r1是android源碼的版本,更多的版本可以通過下面的方式查詢:

4、修改source/.repo/manifest/default.xml 文件中的 fetch 的值為:
git://Android.git.linaro.org/

通過如下的指令來設置郵箱和用戶名
git config --global user.name "<your name>" ----修改用戶名git config --global user.email "<your email>" ----修改email
5、在source目錄下輸入指令:repo sync
便開始了代碼的下載
方便他人亦是方便自己,如果覺得還行就點下下邊的投票吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!

9. 修改android哪一小部分源代碼,實現整機root

要實現這樣的操作需要: 1,手機要root,沒有root的手機,無論手機或是電腦的文件管理器都不能取得手機系統的最高許可權,無法修改、替換系統核心文件,手機root的方式有很多,要選擇自己手機合適的方式; 2、手機端修改系統文件需要用到RE管理器,電腦端修改手機系統文件同樣需要RE管理器,所以電腦要先安裝pc版的RE管理器;更重要的一點是電腦端要安裝好所控手機的usb驅動; 3、無論手機端或電腦端的RE管理器運行都要先取得系統許可權,運行時手機端會有許可權提示,需點擊確認,RE管理器就可以運行了; 4、RE管理器在修改系統、替換文件後,要同時修改文件的許可權,可參照這個教程(電腦端RE是一樣的): jingyan/album/1876c852c975ad890b1376d1.html?picindex=1 忘記修改許可權,手機重新啟動會不能進入系統,需要重新刷機; 5、安卓系統的核心文件修改或替換要十分慎重,不確知的文件絕對不能動。

10. android 怎麼樣修改源碼文件

1、Android的文件系統結構是怎樣的,我們安裝1、Android的文件系統結構是怎樣的,我們安裝的程序放在那裡? 編譯Android源碼之後,在out/target/proct/generic一些文件: ramdisk.img、system.img、userdata.img、 system、 data、root 其中, system.img是由 system打包壓縮得到的, userdata.img是由 data打包壓縮得到的。 ramdisk.img是模擬器的文件系統,把ramdisk.img解壓出來可知道,ramdisk.img里的文件跟root文件夾的文件基本一樣。模擬器裝載ramdisk.img並解壓到內存,接著分別把system.img和userdata.img掛載到 ramdisk下的system和data目錄。我們編譯出來的應用程序就是放在system/app下的。用戶安裝的程序則是放在data/app下。 2、Android SDK和android源碼能為我們提供什麼工具? 的程序放在那裡? 編譯Android源碼之後,在out/target/proct/generic一些文件: ramdisk.img、system.img、userdata.img、 system、 data、root 其中, system.img是由 system打包壓縮得到的, userdata.img是由 data打包壓縮得到的。 ramdisk.img是模擬器的文件系統,把ramdisk.img解壓出來可知道,ramdisk.img里的文件跟root文件夾的文件基本一樣。模擬器裝載ramdisk.img並解壓到內存,接著分別把system.img和userdata.img掛載到 ramdisk下的system和data目錄。我們編譯出來的應用程序就是放在system/app下的。用戶安裝的程序則是放在data/app下。 2、Android SDK和android源碼能為我們提供什麼工具?

熱點內容
資料庫中已存在 發布:2025-01-20 15:35:44 瀏覽:109
壓縮超過密度 發布:2025-01-20 15:35:33 瀏覽:647
和她在一起的日歷怎麼弄安卓 發布:2025-01-20 15:29:29 瀏覽:639
android6華為 發布:2025-01-20 15:28:06 瀏覽:692
荔枝fm怎麼上傳錄音 發布:2025-01-20 15:22:27 瀏覽:107
馬3智雅版有哪些配置 發布:2025-01-20 15:03:06 瀏覽:362
離心機編程 發布:2025-01-20 15:02:24 瀏覽:945
按鍵的匯編程序程序 發布:2025-01-20 15:01:04 瀏覽:555
linux有哪些系統 發布:2025-01-20 14:53:38 瀏覽:90
android顯示當前時間 發布:2025-01-20 14:53:29 瀏覽:968