zoukankan      html  css  js  c++  java
  • Android 从Gallery获取图片

    本文主要介绍Android中从Gallery获取图片

    设计项目布局

    <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" >
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="selectImage"
            android:text="选择一张照片" />
    
        <ImageView
            android:id="@+id/iv"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    
    </LinearLayout>

    打开packagesappsGallery下的清单文件,可以看到其中包含下面的代码:

     <activity android:name="com.android.camera.ImageGallery"
                    android:label="@string/gallery_label"
                    android:configChanges="orientation|keyboardHidden"
                    android:icon="@drawable/ic_launcher_gallery">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.VIEW" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <data android:mimeType="vnd.android.cursor.dir/image" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.VIEW" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <data android:mimeType="vnd.android.cursor.dir/video" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.GET_CONTENT" />
                    <category android:name="android.intent.category.OPENABLE" />
                    <data android:mimeType="vnd.android.cursor.dir/image" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.GET_CONTENT" />
                    <category android:name="android.intent.category.OPENABLE" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <data android:mimeType="image/*" />
                    <data android:mimeType="video/*" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.PICK" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <data android:mimeType="image/*" />
                    <data android:mimeType="video/*" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.PICK" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <data android:mimeType="vnd.android.cursor.dir/image" />
                </intent-filter>
            </activity>

    逻辑部分代码如下:

    public class MainActivity extends Activity {
    
        private ImageView iv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            iv = (ImageView) findViewById(R.id.iv);
    
        }
    
        public void selectImage(View view) {
            // 激活系统图库的应用 选择一张照片
            Intent intent = new Intent();
            intent.setAction(intent.ACTION_PICK);
            intent.setType("image/*");
            startActivityForResult(intent, 0);
    
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (data != null) {
                Uri uri = data.getData(); // 图片的uri路径
                iv.setImageURI(uri);
            }
            super.onActivityResult(requestCode, resultCode, data);
        }
    
    }
  • 相关阅读:
    三层架构及生活实例
    初识ADO.NET
    remoting与socket、web service的比较及实例
    ERP与MES
    25人赛跑问题-得出前三名
    WPF导学目录
    心目中的职业初规划
    应用服务器
    2015广深骑行记
    ASP.NET的几个试题(《C#与.NET程序员面试宝典》)
  • 原文地址:https://www.cnblogs.com/wuyudong/p/5840738.html
Copyright © 2011-2022 走看看