当前位置:首页 » 安卓系统 » android选取图片

android选取图片

发布时间: 2023-05-04 11:37:37

⑴ android 调用图库时怎样选择多张照片

步骤1:编写重定向到图片库的代码
我们需要写一些Java代码来处理按钮的点击事件,而重定向到图片库的代码如下:
Intent i = new Intent(
Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(i, RESULT_LOAD_IMAGE);

注意:这里的RESULT_LOAD_IMAGE是一个整形常量需要传到startActivityForResult()方法。
步骤2:获取选中的图片
一旦选择了一张图片,onActivityResult()方法将会被调用。我们需要处理这个方法得到的数据,代码如下:

1 @Override
2 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
3 super.onActivityResult(requestCode, resultCode, data);
4
5 if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
6 Uri selectedImage = data.getData();
7 String[] filePathColumn = { MediaStore.Images.Media.DATA };
8
9 Cursor cursor = getContentResolver().query(selectedImage,
10 filePathColumn, null, null, null);
11 cursor.moveToFirst();
12 13 int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
14 String picturePath = cursor.getString(columnIndex);
15 cursor.close();
16 }

注意:onActivityResult()方法只有当图片被选中后才会调用。在这个方法中,我们需要检查requestCode是否是我们之前传给startActivityForResult()方法的RESULT_LOAD_IMAGE。

⑵ android 如何实现图片选取框

在布局文件中建立一个linearlayout,设置为clickable,然后加入一个ImageView,这是布局文件 <LinearLayout android:orientation="vertical" android:layout_height="wrap_content" android:clickable="true" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content android:id="@+id/img" android:layout_gravity="center_horizontal" android:layout_centerVertical="true" android:src="@drawable/360"//这个是你的图标 /> </LinearLayout> 然后在做一个布局文件,加入也是...

⑶ android 自定义图片选择器,怎么筛选图片

伪代码如下:
private boolean flag;
public void onClick(View v){
if(flag){
mImageView.setImageResource(R.drawable.xx1);
}else{
mImageView.setImageResource(R.drawable.xx2);
}
flag = !flag;
}123456789123456789

笔者连上面的代码知道写出来那为什么还要去自定义一个ImageView了?
具体需求:两个ImageView之间实现单选效果
我们试想下,目前两个ImageView通过上面的代码可能还好,只要在不同的事件中做出不同的判断就好了,但如果一但ImageView增多了了?
A:你不知道用 RadioGroup+RadioButton 啊!
B:是哦!我现在去试下。
……
B:不行啊,虽然RadioButton可以实现,但不好做适配,我为RadioButton设置Drawable,不能居中,而且不能随着RadioButton的大小改变而改变,资源图片是多大就多大,显示区域不够就不能完全显示出来。
A:…?,额,是吗?这样啊!那我们就自定义一个ImageView来实现吧!
B:为什么是自定义ImageView?而不是自定义RadioButton?
A:自定义RadioButton实现ImageView的src属性比较复杂(等着正在看这博客的大神实现),而自定义ImageView来实现单选的属性比较好实现。
B:那怎么实现了?
A:看代码,代码如下:
attrs.xml <为自定义ImageView添加两个属性>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="SelectorImageView">
<attr name="selector_src" format="reference"/>//选中的src图片属性
<attr name="checked" format="boolean"/>
</declare-styleable>
</resources>12345671234567

Class - SelectorImageView<此类实现了Checkable接口,这里没什么特殊功能,而只是利用此接口中的方法而已,不实现我们也可以自己写>
public class SelectorImageView extends ImageView implements Checkable {
private boolean isChecked;
private Drawable mSelectorDrawable;
private Drawable mDrawable;
public SelectorImageView(Context context) {
this(context, null);
}
public SelectorImageView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public SelectorImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
/**获取默认属性src的Drawable并用成员变量保存*/
mDrawable = getDrawable();
final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SelectorImageView);
/**获取自定义属性selector_src的Drawable并用成员变量保存*/
Drawable d = a.getDrawable(R.styleable.SelectorImageView_selector_src);
mSelectorDrawable = d;
/**获取自定义属性checked的值并用成员变量保存*/
isChecked = a.getBoolean(R.styleable.SelectorImageView_checked, false);
setChecked(isChecked);
if (d != null && isChecked) {
/**如果在布局中设置了selector_src与checked = true,我们就要设置ImageView的图片为mSelectorDrawable */
setImageDrawable(d);
}
a.recycle();
}
@Override
public void setImageDrawable(Drawable drawable) {
super.setImageDrawable(drawable);
}
@Override
public void setChecked(boolean checked) {
this.isChecked = checked;
}
@Override
public boolean isChecked() {
return isChecked;
}
@Override
public void toggle() {
/**此处依据是否选中来设置不同的图片*/
if (isChecked()) {
setImageDrawable(mSelectorDrawable);
} else {
setImageDrawable(mDrawable);
}
}
public void toggle(boolean checked){
/**外部通过调用此方法传入checked参数,然后把值传入给setChecked()方法改变当前的选中状态*/
setChecked(checked);
toggle();
}
}

layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.qjay.adf.widget.SelectorImageView
android:id="@+id/iv"
android:layout_width="100dp"
android:layout_height="100dp"
app:selector_src="@mipmap/checked"
android:src="@mipmap/no_checked"/>
</LinearLayout>12345678910111234567891011

Activity Code
public class MainActivity extends Activity {
private SelectorImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (SelectorImageView) findViewById(R.id.iv);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
iv.toggle(!iv.isChecked());
}
});
}
}

⑷ 写了一个小的android demo,从系统相册去选取图片,发现只能单选,问下大神,有没有方式可以多选的

系统相册(Gallery widget)缺省情况下,并不支持一次多选图片功能。
你可以扩展Gallery View 组件,在每个图片旁放一个CheckBox,这样就可以实现多选了,稍微麻烦了一些.
你可以在谷歌搜索中输入:Android custom image gallery with checkbox in grid to select multiple
就找到相应的方法。
Good Luck!

⑸ Android 图片选择(ImageSelector) (拍照,裁剪,压缩,查看)

1.遍历sdcard文件夹(指定层次深度 searchDeep ),如果文件夹发现图片 , 添加到已搜索到图片的文件列表中,并跳入下一个文件夹搜索

2.使用 ContentResolver 搜索 添加搜索标签(png,jpg,jpeg,gif 等) 优点:更快速

压缩调用

第一步-->

采样率压缩:设置 BitmapFactory.Options.inSampleSize 大小

第二步-->

PNG:尺寸压缩( Config:ARGB_4444 ,工具: Canvas );

JPG:尺寸压缩( Config:ARGB_565 ,工具: Canvas )+压缩质量( bitmap.compress() )

注 :

1.GIF不做压缩处理

2.尺寸压缩:改变宽高(png,jpg)

3.压缩质量:改变文件大小(适用jpg,png无效)

⑹ Android 如何从系统图库中选择图片

Android4.4系统从图库选择图片 android 调用图库并显示选择的图片 Android 如何从系统图库中选择图片 ----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

热点内容
编程星空界面 发布:2025-05-20 02:51:57 浏览:774
流沙文件夹 发布:2025-05-20 02:51:17 浏览:707
sublimepython环境配置 发布:2025-05-20 02:36:13 浏览:578
cntv文件夹 发布:2025-05-20 02:33:20 浏览:219
vs设置编译提示 发布:2025-05-20 02:33:10 浏览:217
android服务是什么 发布:2025-05-20 02:19:31 浏览:201
什么手机可以升到安卓十 发布:2025-05-20 02:19:24 浏览:570
手机U盘安卓的系统目录里有什么 发布:2025-05-20 02:13:08 浏览:849
python多进程锁 发布:2025-05-20 02:12:23 浏览:293
n皇后算法 发布:2025-05-20 01:49:15 浏览:66