android gridview获取所有图片库

时间:2013-10-23 12:54:22

标签: android gridview

这是我的布局图库     //gallery.xml

    <FrameLayout android:id="@+id/FrameLayout01"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">


        <FrameLayout android:id="@+id/LinearLayout01"
            android:layout_gravity="top" 
            android:layout_height="50dp" 
            android:layout_width="fill_parent">

             <Button android:layout_gravity="left" 
                android:id="@+id/btnPhotos" 
                android:layout_marginRight="5dp" 
                android:layout_marginTop="5dp" 
                android:textStyle="bold" 
                android:layout_width="100dp" 
                android:layout_height="40dp"
                android:text="Photos"/>

            <TextView android:id="@+id/TextViewAlbumName"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:textStyle="bold" 
                android:layout_gravity="center" 
                android:text="Album Name"
                />

            <Button android:layout_gravity="right" 
                android:id="@+id/btnCancel" 
                android:layout_marginRight="5dp" 
                android:layout_marginTop="5dp" 
                android:textStyle="bold" 
                android:layout_width="100dp" 
                android:layout_height="wrap_content" android:text="Cancel"/>
        </FrameLayout>

        <GridView xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/gridview" 
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" 
            android:columnWidth="90dp"
            android:numColumns="auto_fit" 
            android:verticalSpacing="10dp"
            android:horizontalSpacing="10dp" 
            android:stretchMode="columnWidth"
            android:gravity="center" 
            android:layout_gravity="bottom"
            android:layout_marginTop="50dp"/>

    </FrameLayout>

我的问题是如何在gridview中显示所有图库? 我知道How to pick an image from gallery (SD Card) for my app?但我需要留在我的应用程序中并获取相册的名称。

1 个答案:

答案 0 :(得分:-1)

您想只显示手机上的所有图像吗?或者你想像画廊应用程序一样显示它并首先显示文件夹?

编辑:以下是获取设备内部和外部所有图像的代码 注意您需要获得读取SD卡的权限才能使其正常工作。

//This gets all external images
    String[] mProjection = {MediaStore.Images.Media.DATE_TAKEN,MediaStore.Images.Media.DATA};
                    Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,mProjection,null,null,MediaStore.Images.Media.DATE_ADDED);

//This gets all internal images
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.INTERNAL_CONTENT_URI,mProjection,null,null,MediaStore.Images.Media.DATE_ADDED);

请注意,我将date_taken和data作为查询传递,因此要获取这些字段,您可以

while(cursor.moveToNext()){
 long date =cursor.getLong(0);
 String fileLoc=cursor.getString(1);

}

然后,您可以根据位置显示图像,按日期排序等等......