5 android image android-library
我想了解社区对于从常见来源获取Android图像以在我们的App中使用的问题的意见。我知道关于堆栈溢出的问题可以追溯到2010年,但是我发现这个简单任务的答案很多。
也许有人知道一些轻量级的库可以从图库(或其他常见来源)获取图像,因此代码可以保持简单易读
也许像这样:
Bitmap image;
SomeCoolLib.
.performImageSelect()
.asBitmap()
.listener(new RequestListener<String, Bitmap>() {
@Override
public boolean onException(Exception e) {
e.printStackTrace();
return false;
}
@Override
public boolean onCancel() {
return false;
}
}).into(image);
Run Code Online (Sandbox Code Playgroud)
让用户:
最好的方法是使用 Android 存储访问框架 ( https://developer.android.com/guide/topics/providers/document-provider.html )。
例如,在您的活动中,您可以请求设备和文档类型(如果您想按文档类型过滤,请注意intent.setType方法)。
此代码将打开 Android 文档选择器并让用户选择图像:
public class MainActivity extends AppCompatActivity {
private static final int OPEN_DOCUMENT_CODE = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.floatingActionButton).setOnClickListener(view -> {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent, OPEN_DOCUMENT_CODE);
});
}
}
Run Code Online (Sandbox Code Playgroud)
然后,只需在同一活动中实现onActivityResult即可接收所选图像:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
if (requestCode == OPEN_DOCUMENT_CODE && resultCode == RESULT_OK) {
if (resultData != null) {
// this is the image selected by the user
Uri imageUri = resultData.getData();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6286 次 |
| 最近记录: |