最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中Intent習(xí)慣用法

 更新時間:2015年12月17日 08:46:53   作者:孫群  
這篇文章主要介紹了Android中Intent習(xí)慣用法,演示了如何在Android中利用Intent進行拍照、攝像、打電話、發(fā)短信、發(fā)郵件等,感興趣的小伙伴們可以參考一下

Android中的Intent是一個非常重要的類,如果對Intent不是特別了解,可以參見《詳解Android中Intent的使用方法》。如果對Intent Filter不是特別了解,可以參見《詳解Android中Intent對象與Intent Filter過濾匹配過程》。

本文著重講一下Android中一些常見的Intent的習(xí)慣用法,比如如何通過Intent發(fā)送短信、發(fā)送郵件、啟動攝像機拍照錄視頻、設(shè)置鬧鈴、打開WIFI設(shè)置界面等等。

限于篇幅,本文分為上下兩篇,這是上篇。

發(fā)送短信

發(fā)送短信的時候,我們要使用的action是Intent.ACTION_SENDTO,并且要指定其URI是smsto:協(xié)議,這樣能保證是短信應(yīng)用接收并處理我們的intent對象,而不是其他應(yīng)用接收,從而準(zhǔn)確實現(xiàn)發(fā)送短信的目的。如果我們的action不是Intent.ACTION_SENDTO,而是Intent.ACTION_SEND,且沒有指定smsto:協(xié)議的URI的話,那么Android在接收到intent對象之后不會直接啟動短信應(yīng)用,而是彈出了App Chooser,讓我們選擇要啟動哪個應(yīng)用,比如電子郵件、QQ等等,所以為了確保直接啟動短信應(yīng)用,我們應(yīng)該使用Intent.ACTION_SENDTO并且指定smsto:協(xié)議的URI。

示例代碼如下:

//使用ACTION_SENDTO而不是ACTION_SEND
Intent intent = new Intent(Intent.ACTION_SENDTO);
//指定URI使用smsto:協(xié)議,協(xié)議后面是接收短信的對象
Uri uri = Uri.parse("smsto:10086");
intent.setData(uri);
//設(shè)置消息體
intent.putExtra("sms_body", "手頭有點緊,借點錢吧~~");

ComponentName componentName = intent.resolveActivity(getPackageManager());
if(componentName != null){
 startActivity(intent);
}

在構(gòu)造發(fā)送短信的URI時,前面是smsto:協(xié)議,后面跟的是接收短信的對方的手機號。如果在構(gòu)建URI時,只寫了smsto:,而沒有寫后面的手機的號的話,那么該intent也可以成功啟動短信應(yīng)用,不過這種情形下,在啟動了短信應(yīng)用之后,還需要我們自己再手動輸入接收信息的手機號。我們通過key為sms_body的extra設(shè)置短信的內(nèi)容。

需要注意的是,在執(zhí)行了startActivity(intent)之后,雖然短信應(yīng)用啟動了,但是短信沒有直接發(fā)出去,需要我們再點擊一下發(fā)送消息才可以。

發(fā)送郵件

發(fā)送郵件的時候,我們要使用的action也是Intent.ACTION_SENDTO,并且要指定其URI是mailto:協(xié)議,這樣能保證是郵件應(yīng)用接收并處理我們的intent對象,而不是其他應(yīng)用接收,從而準(zhǔn)確實現(xiàn)發(fā)送郵件的目的。如果我們的action不是Intent.ACTION_SENDTO,而是Intent.ACTION_SEND,且沒有指定mailto:協(xié)議的URI的話,那么Android在接收到intent對象之后不會直接郵件應(yīng)用,而是彈出了App Chooser,讓我們選擇要啟動哪個應(yīng)用,比如短信、QQ等等,所以為了確保直接啟動郵件應(yīng)用,我們應(yīng)該使用Intent.ACTION_SENDTO并且指定mailto:協(xié)議的URI。

示例代碼如下:

//使用ACTION_SENDTO而不是ACTION_SEND
Intent intent = new Intent(Intent.ACTION_SENDTO);
//指定URI使用mailto:協(xié)議,確保只有郵件應(yīng)用能接收到此intent對象
Uri uri = Uri.parse("mailto:");
intent.setData(uri);
String[] addresses = {"zhangsan@126.com", "lisi@126.com"};
String[] cc = {"boss@126.com"};
String[] bcc = {"girlfriend@126.com"};
String subject = "加班";
String content = "國慶正常上班~~";
//設(shè)置郵件的接收方
intent.putExtra(Intent.EXTRA_EMAIL, addresses);
//設(shè)置郵件的抄送方
intent.putExtra(Intent.EXTRA_CC, cc);
//設(shè)置郵件的密送方
intent.putExtra(Intent.EXTRA_BCC, bcc);
//設(shè)置郵件標(biāo)題
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
//設(shè)置郵件內(nèi)容
intent.putExtra(Intent.EXTRA_TEXT, content);
//設(shè)置郵件附件
//intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(...));
ComponentName componentName = intent.resolveActivity(getPackageManager());
if(componentName != null){
 startActivity(intent);
}

啟動郵件應(yīng)用后的截圖如下所示:

我們分別通過key為Intent.EXTRA_EMAIL、Intent.EXTRA_CC和Intent.EXTRA_BCC的extra依次設(shè)置郵件的接收方、抄送方、密送方,其值均為String數(shù)組。我們通過key為Intent.EXTRA_SUBJECT的extra設(shè)置郵件標(biāo)題,通過key為Intent.EXTRA_TEXT的extra設(shè)置郵件內(nèi)容。如果想發(fā)送附件,那么可以將附件封裝成Uri的形式,然后通過key為Intent.EXTRA_STREAM的extra設(shè)置郵件附件。

需要注意的是,在執(zhí)行了startActivity(intent)之后,雖然郵件應(yīng)用啟動打開了,但是郵件沒有直接發(fā)出去,需要我們再點擊一下右上角的發(fā)送按鈕才能將郵件發(fā)出去。

打電話

要想通過Intent打電話,我們有兩個可以使用的action:Intent.ACTION_DIAL和Intent.ACTION_CALL,二者有一定的區(qū)別。

如果使用Intent.ACTION_DIAL作為intent對象的action,那么當(dāng)執(zhí)行startActivity(intent)之后,會啟動打電話應(yīng)用,并且會自動輸入指定的手機號,但是不會自動撥打,需要我們手動按下?lián)艽虬粹o才能真正給對方打電話。

如果使用Intent.ACTION_CALL作為intent對象的action,那么當(dāng)執(zhí)行startActivity(intent)之后,會啟動打電話應(yīng)用,并且直接撥打我們指定的手機號,無需我們再手動按下?lián)艽虬粹o。但是需要注意的是,該action需要權(quán)限android.permission.CALL_PHONE,如果在應(yīng)用的AndroidManifest.xml文件中沒有添加該權(quán)限,那么當(dāng)指定到startActivity(intent)這句代碼的時候,就會拋出異常,應(yīng)用崩潰退出。

以下是示例代碼:

//Intent.ACTION_DIAL只撥號,不打電話
//Intent intent = new Intent(Intent.ACTION_DIAL);
//Intent.ACTION_CALL直接撥打指定電話,需要android.permission.CALL_PHONE權(quán)限
Intent intent = new Intent(Intent.ACTION_CALL);
Uri uri = Uri.parse("tel:10086");
intent.setData(uri);
ComponentName componentName = intent.resolveActivity(getPackageManager());
if(componentName != null){
 startActivity(intent);
}

在該示例代碼中,我們使用了Intent.ACTION_CALL作為intent對象的action,并且在AndroidManifest.xml中添加了如下權(quán)限:

復(fù)制代碼 代碼如下:
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

我們使用tel:協(xié)議的URI,在協(xié)議后面的是要撥打的號碼,將該Uri作為intent對象的data。

拍照

要想通過Intent啟動攝像機進行拍照,我們需要設(shè)置intent對象的action值為MediaStore.ACTION_IMAGE_CAPTURE的action。然后我們用key為MediaStore.EXTRA_OUTPUT的extra設(shè)置圖片的輸出路徑,最后調(diào)用startActivityForResult()方法以啟動攝像機應(yīng)用,并重寫我們的onActivityResult()以便在該方法中得知拍照完成。

示例代碼如下:

//表示用于拍照的requestCode
 private final int REQUEST_CODE_IMAGE_CAPTURE = 1;
 //我們存儲照片的輸出路徑,以便后續(xù)使用
 private Uri imageOutputUri = null;

 //拍照
 private void captureImage(){
 PackageManager pm = getPackageManager();

 //先判斷本機是否在硬件上有攝像能力
 if(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)){
 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
 ComponentName componentName = intent.resolveActivity(pm);
 //判斷手機上有無攝像機應(yīng)用
 if(componentName != null){
 //創(chuàng)建圖片文件,以便于通過Uri.fromFile()生成對應(yīng)的Uri
 File imageFile = createImageFile();
 if(imageFile != null){
  //根據(jù)imageFile生成對應(yīng)的Uri
  imageOutputUri = Uri.fromFile(imageFile);
  //利用該Uri作為拍照完成后照片的存儲路徑,注意,一旦設(shè)置了存儲路徑,我們就不能獲取縮略圖了
  intent.putExtra(MediaStore.EXTRA_OUTPUT, imageOutputUri);
  //調(diào)用startActivityForResult()方法,以便在onActivityResult()方法中進行相應(yīng)處理
  startActivityForResult(intent, REQUEST_CODE_IMAGE_CAPTURE);
 }else{
  Toast.makeText(this, "無法創(chuàng)建圖像文件!", Toast.LENGTH_LONG).show();
 }
 }else{
 Toast.makeText(this, "未在本機找到Camera應(yīng)用,無法拍照!", Toast.LENGTH_LONG).show();
 }
 }else{
 Toast.makeText(this, "本機沒有攝像頭,無法拍照!", Toast.LENGTH_LONG).show();
 }
 }

 //創(chuàng)建圖片文件,以便于通過Uri.fromFile()生成對應(yīng)的Uri
 private File createImageFile(){
 File image = null;

 //用時間戳拼接文件名稱,防止文件重名
 String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
 String imageFileName = "JPEG_" + timeStamp + "_";
 File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);

 try{
 image = File.createTempFile(
  imageFileName, //前綴
  ".jpg", //后綴
  storageDir //文件夾
 );
 }catch (IOException e){
 image = null;
 e.printStackTrace();
 Log.e("DemoLog", e.getMessage());
 }

 return image;
 }

 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
 //首先判斷是否正確完成
 if(resultCode == RESULT_OK){
 switch (requestCode){
 case REQUEST_CODE_IMAGE_CAPTURE:
  //此處,我們可以通過imageOutputUri獲取到我們想要的圖片
  String imagePath = imageOutputUri.toString();
  Log.i("DemoLog", "照片路徑是: " + imagePath);
  Toast.makeText(this, "照片路徑是: " + imagePath, Toast.LENGTH_LONG).show();

  //以下代碼嘗試獲取縮略圖
  //如果設(shè)置MediaStore.EXTRA_OUTPUT作為extra的時候,那么此處的intent為null,需要判斷
  if(intent != null){
  Bitmap thumbnail = intent.getParcelableExtra("data");
  //有的手機并不會給拍照的圖片生成縮略圖,所以此處也要判斷
  if(thumbnail != null){
  Log.i("DemoLog", "得到縮略圖");
  }
  }
 default:
  break;
 }
 }
 }

我們分析一下上面的代碼片段:

不是所有的Android設(shè)備都能拍照的,所以首先我們調(diào)用了PackageManager的hasSystemFeature(PackageManager.FEATURE_CAMERA)方法,判斷當(dāng)前設(shè)備在硬件層級是否具有拍照的能力。

然后我們創(chuàng)建了一個action為MediaStore.ACTION_IMAGE_CAPTURE的intent對象。

然后我們通過調(diào)用intent.resolveActivity(pm)方法判斷當(dāng)前設(shè)備有無攝像機應(yīng)用以便我們啟動。如果沒有攝像機應(yīng)用但是我們卻把intent對象傳遞給startActivity()或startActivityForResult()的話,就會拋出異常,應(yīng)用崩潰退出。

我們自己寫了一個createImageFile方法,通過該方法我們在自己的應(yīng)用所對應(yīng)的外設(shè)存儲卡上創(chuàng)建了一個圖片文件。需要注意的是,此步驟需要WRITE_EXTERNAL_STORAGE權(quán)限,在AndroidManifest.xml中注冊如下:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
 android:maxSdkVersion="18"></uses-permission>

我們利用上面生成的圖片文件生成了對應(yīng)的Uri,將其存儲在Activity中類型為Uri的字段imageOutputUri中,之后我們執(zhí)行了intent.putExtra(MediaStore.EXTRA_OUTPUT, imageOutputUri),利用該Uri作為拍照完成后照片的存儲路徑。
此處需要特別注意的是,一旦設(shè)置了存儲路徑,我們就不能在onActivityResult()中獲取縮略圖了。

最后我們需要調(diào)用方法startActivityForResult(intent, REQUEST_CODE_IMAGE_CAPTURE)以啟動攝像機應(yīng)用進行拍照,其中REQUEST_CODE_IMAGE_CAPTURE是我們自定義指定的用于拍照的requestCode。

我們覆寫了onActivityResult方法,拍照完成后觸發(fā)該方法的執(zhí)行。首先我們要判斷resultCode是否與RESULT_OK相等,只有相等才表明拍照成功,然后我們判斷如果requestCode是否等于REQUEST_CODE_IMAGE_CAPTURE,若相等表明是拍照返回的結(jié)果。那么此時,我們就可以通過我們之前存儲的imageOutputUri獲取剛剛拍完的照片了,其URI字符串如:
file:///storage/sdcard0/Android/data/com.ispring.commonintents/files/Pictures/JPEG_20150919_112704_533002075.jpg
需要注意的是,如果我們在第5步之中設(shè)置MediaStore.EXTRA_OUTPUT作為照片輸出路徑的話,那么在onActivityResult中無法獲取從攝像機應(yīng)用換回的Intent,即為null,這樣也就無法獲取縮略圖。反之,如果在第5步?jīng)]有設(shè)置MediaStore.EXTRA_OUTPUT作為照片輸出路徑的話,intent不為空,可以嘗試執(zhí)行Bitmap thumbnail = intent.getParcelableExtra("data")獲取縮略圖,如果thumbnail不為空,表示能成功獲取縮略圖。但是有的手機并不會給拍照的圖片生成縮略圖,所以此處的thumbnail也有可能是null,所以在使用之前要先判斷。

攝像

通過Intent啟動攝像機進行攝像的步驟與上面剛提到的通過Intent啟動攝像機進行拍照的步驟非常相似,稍有區(qū)別。要啟動Camera進行攝像,我們需要給intent設(shè)置值為MediaStore.ACTION_VIDEO_CAPTURE的action,然后我們用key為MediaStore.EXTRA_OUTPUT的extra設(shè)置圖片的輸出路徑,最后調(diào)用startActivityForResult()方法以啟動攝像機應(yīng)用,并重寫我們的onActivityResult()以便在該方法中得知攝像完成。

以下是示例代碼:

//表示用于錄視頻的requestCode
 private final int REQUEST_CODE_VIDEO_CAPTURE = 2;

 //我們存儲視頻的輸出路徑,以便后續(xù)使用
 private Uri videoOutputUri = null;

 //攝像
 private void captureVideo(){
 PackageManager pm = getPackageManager();

 //先判斷本機是否在硬件上有攝像能力
 if(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)){
 //將intent的action設(shè)置為MediaStore.ACTION_VIDEO_CAPTURE
 Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
 ComponentName componentName = intent.resolveActivity(pm);
 //判斷手機上有無攝像機應(yīng)用
 if(componentName != null){
 //創(chuàng)建視頻文件,以便于通過Uri.fromFile()生成對應(yīng)的Uri
 File videoFile = createVideoFile();
 if(videoFile != null){
  //根據(jù)videoFile生成對應(yīng)的Uri
  videoOutputUri = Uri.fromFile(videoFile);
  //利用該Uri作為攝像完成后視頻的存儲路徑
  intent.putExtra(MediaStore.EXTRA_OUTPUT, videoOutputUri);
  //調(diào)用startActivityForResult()方法,以便在onActivityResult()方法中進行相應(yīng)處理
  startActivityForResult(intent, REQUEST_CODE_VIDEO_CAPTURE);
 }else{
  Toast.makeText(this, "無法創(chuàng)建視頻文件!", Toast.LENGTH_LONG).show();
 }
 }else{
 Toast.makeText(this, "未在本機找到Camera應(yīng)用,無法攝像!", Toast.LENGTH_LONG).show();
 }
 }else{
 Toast.makeText(this, "本機沒有攝像頭,無法攝像!", Toast.LENGTH_LONG).show();
 }
 }

 //創(chuàng)建視頻文件,以便于通過Uri.fromFile()生成對應(yīng)的Uri
 private File createVideoFile(){
 File videoFile = null;

 //用時間戳拼接文件名稱,防止文件重名
 String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
 String imageFileName = "MP4" + timeStamp + "_";
 File storageDir = getExternalFilesDir(Environment.DIRECTORY_MOVIES);

 try{
 videoFile = File.createTempFile(
  imageFileName, //前綴
  ".mp4", //后綴
  storageDir //文件夾
 );
 }catch (IOException e){
 videoFile = null;
 e.printStackTrace();
 Log.e("DemoLog", e.getMessage());
 }

 return videoFile;
 }

 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
 //首先判斷是否正確完成
 if(resultCode == RESULT_OK){
 switch (requestCode){
 case REQUEST_CODE_VIDEO_CAPTURE:
  //如果設(shè)置MediaStore.EXTRA_OUTPUT作為extra的時候,
  //在有的手機上,此處的intent為不為null,但是在有的手機上卻為null,
  //所以不建議從intent.getData()中獲取視頻路徑
  //我們應(yīng)該自己記錄videoOutputUri來得知視頻路徑,下面注釋的代碼不建議使用
  /*if(intent != null){
  Uri videoUri = intent.getData();
  if(videoUri != null){
  //路徑格式如content://media/external/video/media/130025
  Log.i("DemoLog", "視頻路徑是: " + videoUri.toString());
  }
  }*/

  String videoPath = videoOutputUri.toString();
  //1.如果沒有設(shè)置MediaStore.EXTRA_OUTPUT作為視頻文件存儲路徑,那么路徑格式如下所示:
  // 路徑格式如content://media/external/video/media/130025
  //2.如果設(shè)置了MediaStore.EXTRA_OUTPUT作為視頻文件存儲路徑,那么路徑格式如下所示:
  // 路徑格式如file:///storage/sdcard0/Android/data/com.ispring.commonintents/files/Movies/MP420150919_184132_533002075.mp4
  Log.i("DemoLog", "視頻路徑是: " + videoPath);
  Toast.makeText(this, "視頻路徑是: " + videoPath, Toast.LENGTH_LONG).show();
  break;
 default:
  break;
 }
 }
 }

可以看到上面啟動Camera攝像的代碼與拍照的代碼幾乎完全一樣,具體解釋參見對拍照代碼的描述。在該示例代碼中,我們通過MediaStore.EXTRA_OUTPUT設(shè)置了視頻的存放路徑,拍照的時候我們也通過它設(shè)置了照片的輸出路徑,但是二者稍有區(qū)別:

  • 1. 對于拍照,設(shè)置了MediaStore.EXTRA_OUTPUT之后,onActivityResult中的Intent參數(shù)是null,不能從Intent中得知照片的存儲路徑。
  • 2. 對于攝像,設(shè)置了MediaStore.EXTRA_OUTPUT之后,onActivityResult中的Intent參數(shù)在有的手機上是null,但是在有的手機上不是null,我的手機小米1s得到的intent對象就不是null,所以此處很奇怪。如果intent不是null,可以通過intent.getData()獲取到視頻文件的存儲路徑,但是由于intent是否為null不確定,所以盡量不要通過intent.getData()方法獲取其路徑,而應(yīng)該自己在Activity中存儲一個字段保存我們之前設(shè)置的文件路徑,這樣就沒問題了。

以上就是關(guān)于Android中常見Intent習(xí)慣用法,希望對大家的學(xué)習(xí)有所幫助。

附源碼: 《Android中Intent習(xí)慣用法》

相關(guān)文章

  • Android 利用ViewPager+GridView實現(xiàn)首頁導(dǎo)航欄布局分頁效果

    Android 利用ViewPager+GridView實現(xiàn)首頁導(dǎo)航欄布局分頁效果

    用ViewPager+GridView實現(xiàn)首頁導(dǎo)航欄布局分頁效果來實現(xiàn)的效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • Android實現(xiàn)長圖文截圖功能實例代碼

    Android實現(xiàn)長圖文截圖功能實例代碼

    這篇文章主要給大家介紹了關(guān)于Android實現(xiàn)長圖文截圖功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Android中WebView無法后退和js注入漏洞的解決方案

    Android中WebView無法后退和js注入漏洞的解決方案

    這篇文章主要介紹了Android中WebView無法后退和js注入漏洞解決方案,其中js注入主要針對安卓4.2及以下版本中WebView的漏洞,需要的朋友可以參考下
    2016-02-02
  • Ubuntu下android adb環(huán)境變量配置方法

    Ubuntu下android adb環(huán)境變量配置方法

    這篇文章主要介紹了Ubuntu下android adb環(huán)境變量配置方法,本文給出了操作步驟,按步驟操作即可,需要的朋友可以參考下
    2015-04-04
  • Android實現(xiàn)簡單時鐘View的方法

    Android實現(xiàn)簡單時鐘View的方法

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)簡單的時鐘View,關(guān)鍵點在Canvas的平移與旋轉(zhuǎn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 利用Jetpack Compose繪制可愛的天氣動畫

    利用Jetpack Compose繪制可愛的天氣動畫

    Jetpack Compose是用于構(gòu)建原生Android UI的現(xiàn)代工具包。Jetpack Compose使用更少的代碼,強大的工具和直觀的Kotlin API,簡化并加速了Android上的UI開發(fā)。本文將利用Jetpack Compose繪制可愛的天氣動畫,感興趣的可以了解一下
    2022-01-01
  • 100 行代碼實現(xiàn)Flutter自定義TabBar的示例代碼

    100 行代碼實現(xiàn)Flutter自定義TabBar的示例代碼

    這篇文章主要介紹了100 行代碼實現(xiàn)Flutter自定義TabBar的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Android獲得設(shè)備狀態(tài)信息、Mac地址、IP地址的方法

    Android獲得設(shè)備狀態(tài)信息、Mac地址、IP地址的方法

    今天小編就為大家分享一篇關(guān)于Android獲得設(shè)備狀態(tài)信息、Mac地址、IP地址的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Android實現(xiàn)截屏方式整理(總結(jié))

    Android實現(xiàn)截屏方式整理(總結(jié))

    本篇文章主要介紹了Android 截屏方式整理(總結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 解決android Listview的item中最外層Margin失效的問題

    解決android Listview的item中最外層Margin失效的問題

    下面小編就為大家?guī)硪黄鉀Qandroid Listview的item中最外層Margin失效的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論

普安县| 宾阳县| 丰镇市| 石景山区| 扶风县| 甘洛县| 阳朔县| 金昌市| 临桂县| 沐川县| 德昌县| 鹤庆县| 龙南县| 孟村| 江西省| 横山县| 张家港市| 文昌市| 诸城市| 乐昌市| 南康市| 静宁县| 富顺县| 辉南县| 营山县| 武冈市| 高邑县| 延津县| 汶川县| 疏附县| 金山区| 舞阳县| 宁海县| 如东县| 舒城县| 明光市| 乐昌市| 修水县| 沽源县| 陵川县| 南岸区|