Android简单学习使⽤PictureSelector框架图⽚选取裁剪Android简单学习使⽤PictureSelector框架图⽚选取裁剪
关于
本篇仅是简单学习使⽤这个框架,内容⽐较简单,如果想要详细了解PictureSelector的使⽤⽅法,可以前往此。
效果图
第⼀步,添加引⽤
implementation 'com.github.wildma:PictureSelector:1.2.0'
第⼆步,新建l布局⽂件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="schemas.android/apk/res/android" xmlns:app="schemas.android/apk/res-auto"
xmlns:tools="schemas.android/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
&application.widget.DefinitionVideoView
android:id="@+id/player"
android:layout_width="match_parent"
android:layout_height="250dp"
android:visibility="gone"
tools:ignore="MissingConstraints"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="button"
tools:ignore="MissingConstraints"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image"
tools:ignore="MissingConstraints"/>
</LinearLayout>
第三步,修改MainActivity.java⽂件
public class MainActivity extends AppCompatActivity {
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState){
setContentView(R.layout.activity_main);
Button button =findViewById(R.id.button);
imageView =findViewById(R.id.image);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
/**
* create()⽅法参数⼀是上下⽂,在activity中传activity.this,在fragment中传fragment.this。参数⼆为请求码,⽤于结果回调onActivityResult中判断 * selectPicture()⽅法参数分别为是否裁剪、裁剪后图⽚的宽(单位px)、裁剪后图⽚的⾼、宽⽐例、⾼⽐例。都不传则默认为裁剪,宽200,⾼200,宽⾼⽐例为1:1。
*/
PictureSelector
.create(MainActivity.this, PictureSelector.SELECT_REQUEST_CODE)
.selectPicture(true,200,200,1,1);
}
});
}
@Override
protected void onActivityResult(int requestCode,int resultCode, Intent data){
/*结果回调*/
if(requestCode == PictureSelector.SELECT_REQUEST_CODE){
if(data != null){
PictureBean pictureBean = ParcelableExtra(PictureSelector.PICTURE_RESULT);
安卓intent用法if(pictureBean.isCut()){
imageView.setImageBitmap(BitmapFactory.Path()));
}else{
imageView.Uri());
}
}
}
//这⾥是删除裁剪后的缓存⽂件
FileUtils.deleteAllCacheImage(this);
}
}
本篇到此就结束了,有问题欢迎批评指教!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论