當前位置:首頁 » 安卓系統 » android相冊功能

android相冊功能

發布時間: 2022-05-09 17:07:38

㈠ Android 微信里---我---相冊,這個功能,布局怎麼寫代碼怎麼寫請大神解答

1、布局:一個ListView,里頭放些個textVIEW顯示時間。一個gridVIEW用來顯示相片。沒有相片gridview的adapter就提供一個默認圖片給它顯示 後面一個textview顯示張數,那個雨是標題的話也來個textview顯示,沒有數據那些textview就都為空或者設為gone。
2、代碼:gridview顯示的那些照片用bitmap縮放一下是要的。其他的感覺沒什麼特別的。

㈡ Android中如何實現圖片的放大功能(手機相冊里的那種效果)

你是要代碼實現還是操作?
要代碼我有源代碼。要是操作上的問題那就是我理解錯你問題了。
/* import相關class */
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;

public class EX04_23 extends Activity
{
/* 相關變數聲明 */
private ImageView mImageView;
private Button mButton01;
private Button mButton02;
private RelativeLayout layout1;
private Bitmap bmp;
private int id=0;
private int displayWidth;
private int displayHeight;
private float scaleWidth=1;
private float scaleHeight=1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* 載入main.xml Layout */
setContentView(R.layout.main);

/* 取得屏幕解析度大小 */
DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
displayWidth=dm.widthPixels;
/* 屏幕高度須扣除下方Button高度 */
displayHeight=dm.heightPixels-80;
/* 初始化相關變數 */
bmp=BitmapFactory.decodeResource(getResources(),R.drawable.ex04_23);
mImageView = (ImageView)findViewById(R.id.myImageView);
layout1 = (RelativeLayout)findViewById(R.id.layout1);
mButton01 = (Button)findViewById(R.id.myButton1);
mButton02 = (Button)findViewById(R.id.myButton2);

/* 縮小按鈕onClickListener */
mButton01.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
small();
}
});

/* 放大按鈕onClickListener */
mButton02.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
big();
}
});
}

/* 圖片縮小的method */
private void small()
{
int bmpWidth=bmp.getWidth();
int bmpHeight=bmp.getHeight();
/* 設定圖片縮小的比例 */
double scale=0.8;
/* 計算出這次要縮小的比例 */
scaleWidth=(float) (scaleWidth*scale);
scaleHeight=(float) (scaleHeight*scale);

/* 生成reSize後的Bitmap對象 */
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizeBmp = Bitmap.createBitmap(bmp,0,0,bmpWidth,bmpHeight,matrix,true);

if(id==0)
{
/* 如果是第一次按,就移除原來設定的ImageView */
layout1.removeView(mImageView);
}
else
{
/* 如果不是第一次按,就移除上次放大縮小所生成的ImageView */
layout1.removeView((ImageView)findViewById(id));
}
/* 產生新的ImageView,放入reSize的Bitmap對象,再放入Layout中 */
id++;
ImageView imageView = new ImageView(EX04_23.this);
imageView.setId(id);
imageView.setImageBitmap(resizeBmp);
layout1.addView(imageView);
setContentView(layout1);

/* 因為圖片放到最大時放大按鈕會disable,所以在縮小時把他重設為enable */
mButton02.setEnabled(true);
}

/* 圖片放大的method */
private void big()
{
int bmpWidth=bmp.getWidth();
int bmpHeight=bmp.getHeight();
/* 設定圖片放大的比例 */
double scale=1.25;
/* 計算這次要放大的比例 */
scaleWidth=(float)(scaleWidth*scale);
scaleHeight=(float)(scaleHeight*scale);

/* 產生reSize後的Bitmap對象 */
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizeBmp = Bitmap.createBitmap(bmp,0,0,bmpWidth,bmpHeight,matrix,true);

if(id==0)
{
/* 如果是第一次按,就移除原來設定的ImageView */
layout1.removeView(mImageView);
}
else
{
/* 如果不是第一次按,就移除上次放大縮小所生成的ImageView */
layout1.removeView((ImageView)findViewById(id));
}
/* 產生新的ImageView,放入reSize的Bitmap對象,再放入Layout中 */
id++;
ImageView imageView = new ImageView(EX04_23.this);
imageView.setId(id);
imageView.setImageBitmap(resizeBmp);
layout1.addView(imageView);
setContentView(layout1);

/* 如果再放大會超過屏幕大小,就把Button disable */
if(scaleWidth*scale*bmpWidth>displayWidth||scaleHeight*scale*bmpHeight>displayHeight)
{
mButton02.setEnabled(false);
}
}
}

㈢ Android製作一個相冊

這是我學習Android時做的一個小程序,程序主要功能是實現一個迷你相冊的功能,可以在虛擬機上看到很不錯的效果。
我設置屏幕的大小為800*600

/*
*ImageSwitcherGallery.java
*/

package android.study_layout;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.animation.AnimationUtils;
import android.widget.*;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ViewSwitcher.ViewFactory;

public class ImageSwitcherGallery extends Activity implements
OnItemSelectedListener, ViewFactory {
private ImageSwitcher image_switcher;
private Gallery gallery;
private Integer[] mThumbIds = { R.drawable.a1, R.drawable.a2,
R.drawable.a3, R.drawable.a4, R.drawable.a5,
};
private Integer[] mImageIds = { R.drawable.a1, R.drawable.a2,
R.drawable.a3, R.drawable.a4, R.drawable.a5, };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.image_switcher_gallery);
image_switcher = (ImageSwitcher) findViewById(R.id.switcher);
image_switcher.setFactory(this);
image_switcher.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
image_switcher.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
gallery = (Gallery) findViewById(R.id.gallery);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemSelectedListener(this);
}
@Override
public View makeView() {
ImageView image = new ImageView(this);
image.setBackgroundColor(0xFF000000);
image.setScaleType(ImageView.ScaleType.FIT_XY);
image.setLayoutParams(new ImageSwitcher.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
return image;
}
public class ImageAdapter extends BaseAdapter {
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView image = new ImageView(mContext);
image.setImageResource(mThumbIds[position]);
image.setAdjustViewBounds(true);
image.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
return image;
}
private Context mContext;
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
ImageSwitcher image_switcher = (ImageSwitcher) findViewById(R.id.switcher);
image_switcher.setImageResource(mImageIds[position]);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}

xml文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<ImageSwitcher
android:id="@+id/switcher"
android:layout_width="match_parent"
android:layout_height="450dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
/>
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="120dip"
android:background="#55000000"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:gravity="center_vertical"
android:spacing="30dip"
/>

</RelativeLayout>

㈣ 如何 android 編程 相冊

簡單介紹一下如何在界面上實現圖片顯示。
方法/步驟
先做一張圖片,打開畫圖軟體,用畫筆在上面寫上「你好」,然後直接保存到一個安卓工程的res/drawable_hdpi文件夾下。

在activity_main.xml下寫入一下代碼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/hello"/>
</LinearLayout

在mainactivite.java下寫入一下代碼:
package com.ddexample.dh1;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}
}

最後直接運行這個安卓工程,就可以直接顯示剛才製作的圖片了。

http://jingyan..com/article/49711c6153a277fa441b7cf4.html

㈤ android相冊里會顯示出很多緩存以及隱私圖片,請問如何不讓他預覽出來!

有一種辦法可以讓他在系統圖片查看器還是第三方看圖軟體里都讀不出該文件夾下的圖片:在該文件夾下面直接建立nomedia的文件,任何途徑都認為該文件夾是空的,所以讀不出來,除非你進入文件管理器點擊文件夾預覽。

還有一辦法就是下載第三方圖片查看器讓他自動生成上面所說的空文件信息。給你推薦【快圖瀏覽】,通過隱藏文件夾功能達到目標。

㈥ android中怎麼做自己的相冊

package com.fit.background;
import Java.io.IOException;
import Android.app.Activity;
import android.app.WallpaperManager;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.NET.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */

安卓手機相冊的問題

  1. 對於系統自帶相冊可以使用Gallery Excluder軟體,使相冊忽略掃描某些目錄,該軟體在Android 2.3下對應自帶3D圖庫有效。

  2. 如果是用「快圖瀏覽」一類的軟體,這類軟體本身就有隱藏和排除目錄的功能,但是根據你的情況,你只需要在當前圖庫中不顯示某一目錄的話,用排除功能排除掉該目錄就行了(隱藏功能會把文件放在系統隱藏目錄,可能其他軟體將無法識別,快圖瀏覽本身也會給出說明)。


Gallery Excluder參考下載地址:http://as..com/a/item?docid=1988326&pre=web_am_se(其它應用市場也可找到)

㈧ android怎樣調用系統相冊

使用系統自帶的圖片瀏覽器應用程序Gallery可以打開一張指定的圖片,//使用IntentIntent intent = new Intent(Intent.ACTION_VIEW);//Uri mUri = Uri.parse("file://" + picFile.getPath());Android3.0以後最好不要通過該方法,存在一些小Bugintent.setDataAndType(Uri.fromFile(picFile), "image/*");startActivity(intent)

㈨ android系統如何調用自帶的相機相冊

LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="gallery"
android:text="獲取圖庫圖片" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="camera"
android:text="拍照獲取圖片" />

<ImageView
android:id="@+id/iv_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

//------------------我的MainActivity --------------也很簡單--------------------------

package tackpicture.bwie.com.tackpicture;

import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

import java.io.File;

public class MainActivity extends AppCompatActivity {

private ImageView iv_image;

private static final int PHOTO_REQUEST_CAREMA = 1;// 拍照
private static final int PHOTO_REQUEST_GALLERY = 2;// 從相冊中選擇
private static final int PHOTO_REQUEST_CUT = 3;// 結果
/* 頭像名稱 */
private static final String PHOTO_FILE_NAME = "temp_photo.jpg";
private File tempFile;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到控制項
iv_image = (ImageView) findViewById(R.id.iv_image);
}

//圖庫
public void camera(View view) {
// 激活系統圖庫,選擇一張圖片
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
// 開啟一個帶有返回值的Activity,請求碼為PHOTO_REQUEST_GALLERY
startActivityForResult(intent, PHOTO_REQUEST_GALLERY);
}

//相機
public void gallery(View view) {
// 激活相機
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
// 判斷存儲卡是否可以用,可用進行存儲
if (hasSdcard()) {
tempFile = new File(Environment.getExternalStorageDirectory(), PHOTO_FILE_NAME);
// 從文件中創建uri
Uri uri = Uri.fromFile(tempFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
}
// 開啟一個帶有返回值的Activity,請求碼為PHOTO_REQUEST_CAREMA
startActivityForResult(intent, PHOTO_REQUEST_CAREMA);
}

/*
* 剪切圖片
*/
private void crop(Uri uri) {
// 裁剪圖片意圖
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
// 裁剪框的比例,1:1
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
// 裁剪後輸出圖片的尺寸大小
intent.putExtra("outputX", 250);
intent.putExtra("outputY", 250);

intent.putExtra("outputFormat", "JPEG");// 圖片格式
intent.putExtra("noFaceDetection", true);// 取消人臉識別
intent.putExtra("return-data", true);
// 開啟一個帶有返回值的Activity,請求碼為PHOTO_REQUEST_CUT
startActivityForResult(intent, PHOTO_REQUEST_CUT);
}

/*
* 判斷sdcard是否被掛載
*/
private boolean hasSdcard() {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
return true;
} else {
return false;
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PHOTO_REQUEST_GALLERY) {
// 從相冊返回的數據
if (data != null) {
// 得到圖片的全路徑
Uri uri = data.getData();
crop(uri);
}
} else if (requestCode == PHOTO_REQUEST_CAREMA) {
// 從相機返回的數據
if (hasSdcard()) {
crop(Uri.fromFile(tempFile));
} else {
Toast.makeText(MainActivity.this, "未找到存儲卡,無法存儲照片!", 0).show();
}

} else if (requestCode == PHOTO_REQUEST_CUT) {
// 從剪切圖片返回的數據
if (data != null) {
Bitmap bitmap = data.getParcelableExtra("data");
this.iv_image.setImageBitmap(bitmap);
}
try {
// 將臨時文件刪除
tempFile.delete();
} catch (Exception e) {
e.printStackTrace();
}

}

super.onActivityResult(requestCode, resultCode, data);
}

}

熱點內容
安卓如何打開nc格式文件 發布:2025-07-27 19:47:45 瀏覽:352
壓縮後的 發布:2025-07-27 19:39:22 瀏覽:579
怎麼改服務密碼 發布:2025-07-27 19:17:16 瀏覽:637
python小項目源碼 發布:2025-07-27 19:12:19 瀏覽:369
python畫矩形 發布:2025-07-27 19:07:31 瀏覽:995
小米盒子怎麼看配置 發布:2025-07-27 19:00:34 瀏覽:838
百度打開密碼是多少 發布:2025-07-27 18:53:11 瀏覽:23
華為方舟編譯器免費使用 發布:2025-07-27 18:53:08 瀏覽:193
組態王與資料庫連接 發布:2025-07-27 18:52:29 瀏覽:308
dhcp配置錯誤怎麼修復 發布:2025-07-27 18:41:09 瀏覽:819