欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開(kāi)發(fā)之組件GridView簡(jiǎn)單使用方法示例

 更新時(shí)間:2019年03月29日 08:43:13   作者:水中魚(yú)之1999  
這篇文章主要介紹了Android開(kāi)發(fā)之組件GridView簡(jiǎn)單使用方法,涉及Android GridView組件圖片瀏覽及保存圖片等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Android開(kāi)發(fā)之組件GridView簡(jiǎn)單使用方法。分享給大家供大家參考,具體如下:

案例:簡(jiǎn)單的圖片瀏覽器,保存圖片到相冊(cè)

保存圖片到相冊(cè) 方法代碼:http://www.dbjr.com.cn/article/158668.htm

廢話不多說(shuō)先上效果;

具體實(shí)現(xiàn):

首先是布局文件: 1.一個(gè)GridView(展示所有的圖片) 2.一個(gè)ImageView(放選中的圖片)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 tools:context=".MainActivity" >
 <!--定義一個(gè)GridView組件-->
 <GridView
  android:id="@+id/grid01"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:horizontalSpacing="1pt"
  android:verticalSpacing="1pt"
  android:numColumns="3"
  android:gravity="center"/>
 <!--定義一個(gè)ImageView組件-->
 <ImageView
  android:id="@+id/image_view"
  android:layout_width="240dp"
  android:layout_height="240dp"
  android:layout_gravity="center_horizontal"/>
</LinearLayout>

然后是點(diǎn)擊事件的設(shè)置:

其中arry_list只有一個(gè)ImageView放圖片 代碼下面給出

public class MainActivity extends Activity {
 private GridView gridView;
 //定義字符串?dāng)?shù)組作為提示的文本
 private ImageView imageView;
 private int[] photoId = new int[]{
   R.drawable.huangjindiao, R.drawable.piaopiao,
   R.drawable.xiaochouyu, R.drawable.paodangyu,
   R.drawable.addphoto, R.drawable.huangjinxiahu
 };
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  //創(chuàng)建一個(gè)list對(duì)象,list對(duì)象的元素是Map
  List<Map<String,Object>> listItems = new ArrayList<Map<String,Object>>();
  for (int i = 0 ; i < photoId.length ; i ++ ){
   Map<String,Object> photolist = new HashMap<String, Object>();
   photolist.put("image",photoId[i]);
   listItems.add(photolist);
  }
  //獲取圖片的imageView
  imageView = (ImageView) findViewById(R.id.image_view);
  //創(chuàng)建一個(gè)SimpleAdapter
  SimpleAdapter simpleAdapter = new SimpleAdapter(this,listItems,
  //arry_list只有一個(gè)ImageView放圖片 代碼下面給出
    R.layout.array_list,
    new String[]{"image"}, new int[]{R.id.image});
  gridView = (GridView) findViewById(R.id.grid01);
  //為gridview設(shè)置adapter
  gridView.setAdapter(simpleAdapter);
  //添加列表項(xiàng)中被選中的監(jiān)聽(tīng)器
  gridView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
   @Override
   public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    //顯示當(dāng)前被選中的圖片
    imageView.setImageResource(photoId[position]);
   }
   @Override
   public void onNothingSelected(AdapterView<?> parent) {
   }
  });
  //添加列表中被單擊的監(jiān)聽(tīng)器
  gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    //顯示被單擊的圖片
    imageView.setImageResource(photoId[position]);
   }
  });
  //點(diǎn)擊圖片保存
  imageView.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    String[] PERMISSIONS = {
      "android.permission.READ_EXTERNAL_STORAGE",
      "android.permission.WRITE_EXTERNAL_STORAGE" };
    //檢測(cè)是否有寫(xiě)的權(quán)限
    int permission = ContextCompat.checkSelfPermission(MainActivity.this,
      "android.permission.WRITE_EXTERNAL_STORAGE");
    if (permission != PackageManager.PERMISSION_GRANTED) {
     // 沒(méi)有寫(xiě)的權(quán)限,去申請(qǐng)寫(xiě)的權(quán)限,會(huì)彈出對(duì)話框
     ActivityCompat.requestPermissions(MainActivity.this, PERMISSIONS,1);
    }
    try {
     //創(chuàng)建savephoto類保存圖片
     SavePhoto savePhoto = new SavePhoto(MainActivity.this);
     savePhoto.SaveBitmapFromView(imageView);
    } catch (ParseException e) {
     e.printStackTrace();
    }
   }
  });
 }
}

值得注意的一點(diǎn):array_list:

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/image"
 android:layout_width="100dp"
 android:layout_height="100dp"
 android:scaleType="fitXY">
</ImageView>

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android圖形與圖像處理技巧總結(jié)》、《Android開(kāi)發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 安卓Android Context類實(shí)例詳解

    安卓Android Context類實(shí)例詳解

    在開(kāi)發(fā)Android的過(guò)程中,總是能遇見(jiàn)Context類或者它的實(shí)例.Context類的實(shí)例經(jīng)常被用來(lái)提供“應(yīng)用程序”的引用,下面舉例說(shuō)明Contex類實(shí)例詳解
    2016-07-07
  • Android如何判斷一個(gè)點(diǎn)在不在多邊形區(qū)域內(nèi)

    Android如何判斷一個(gè)點(diǎn)在不在多邊形區(qū)域內(nèi)

    這篇文章主要為大家詳細(xì)介紹了Android判斷一個(gè)點(diǎn)在不在多邊形區(qū)域內(nèi)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Android游戲開(kāi)發(fā)學(xué)習(xí)①?gòu)椞∏驅(qū)崿F(xiàn)方法

    Android游戲開(kāi)發(fā)學(xué)習(xí)①?gòu)椞∏驅(qū)崿F(xiàn)方法

    這篇文章主要介紹了Android游戲開(kāi)發(fā)學(xué)習(xí)①?gòu)椞∏驅(qū)崿F(xiàn)方法,涉及Android通過(guò)物理引擎BallThread類模擬小球運(yùn)動(dòng)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Android 中Handler引起的內(nèi)存泄露

    Android 中Handler引起的內(nèi)存泄露

    本文主要介紹Android中Handler引起的內(nèi)存泄露,在實(shí)際開(kāi)發(fā)中經(jīng)常會(huì)遇到使用Handler來(lái)寫(xiě)異步操作的功能,如果引起內(nèi)存泄漏,看看怎么解決
    2016-08-08
  • Android Service功能使用示例代碼

    Android Service功能使用示例代碼

    Service是Android中一個(gè)強(qiáng)大的組件,可以用來(lái)執(zhí)行需要在后臺(tái)進(jìn)行的任務(wù),通過(guò)本文的介紹了解如何在Kotlin中創(chuàng)建和使用Service,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Android 實(shí)現(xiàn)自定義圓形listview功能的實(shí)例代碼

    Android 實(shí)現(xiàn)自定義圓形listview功能的實(shí)例代碼

    這篇文章主要介紹了Android 實(shí)現(xiàn)自定義圓形listview功能的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Android利用Paint自定義View實(shí)現(xiàn)進(jìn)度條控件方法示例

    Android利用Paint自定義View實(shí)現(xiàn)進(jìn)度條控件方法示例

    這篇文章主要給大家介紹了關(guān)于Android利用Paint自定義View實(shí)現(xiàn)進(jìn)度條控件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位Android開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • android ListView深入理解

    android ListView深入理解

    在android開(kāi)發(fā)中ListView是比較常用的組件,它以列表的形式展示具體內(nèi)容,并且能夠根據(jù)數(shù)據(jù)的長(zhǎng)度自適應(yīng)顯示。抽空把對(duì)ListView的使用做了整理,需要的朋友可以參考下
    2012-11-11
  • 詳解Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實(shí)現(xiàn)

    詳解Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實(shí)現(xiàn)

    這篇文章主要介紹了Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實(shí)現(xiàn),文中分為發(fā)送文字、二進(jìn)制內(nèi)容和圖片三種情況來(lái)講,需要的朋友可以參考下
    2016-04-04
  • 實(shí)例講解Android多線程應(yīng)用開(kāi)發(fā)中Handler的使用

    實(shí)例講解Android多線程應(yīng)用開(kāi)發(fā)中Handler的使用

    這篇文章主要介紹了Android多線程應(yīng)用開(kāi)發(fā)中Handler的使用,Handle主要被用來(lái)更新UI和處理消息,需要的朋友可以參考下
    2016-01-01

最新評(píng)論