相关疑难解决方法(0)

从矢量drawable获取位图

在我的应用程序中,我必须为通知设置一个大图标.LargeIcon必须是一个Bitmap,我的drawables是矢量图像(Android中的新功能,请看这个链接)问题是当我尝试解码一个矢量图像的资源时,我得到一个null返回.

以下是代码示例:

if (BitmapFactory.decodeResource(arg0.getResources(), R.drawable.vector_menu_objectifs) == null)
        Log.d("ISNULL", "NULL");
    else
        Log.d("ISNULL", "NOT NULL");
Run Code Online (Sandbox Code Playgroud)

在这个例子中,当我用一个"普通"图像替换R.drawable.vector_menu_objectifs,例如一个png例如,结果不为空(我得到正确的位图)是否有我缺少的东西?

android bitmap android-drawable android-vectordrawable

107
推荐指数
5
解决办法
5万
查看次数

RecyclerView ItemTouchHelper如何锁定滑动项目?

我使用带有ItemTouchHelper的RecyclerView进行滑动删除,并在滑动项下添加删除按钮,如下所示: 刷卡规格

但是当我完成滑动时,该项目很快就会从列表中删除!如何锁定刷过的项目,并通过单击删除按钮删除?就像Gmail的行为一样.

PS.我在此处发布了相同的问题 https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=189057

android android-recyclerview

13
推荐指数
2
解决办法
9987
查看次数

Android - 刷回Recyclerview项目后显示按钮

我创建RecyclerView了包含CardView以显示数据的内容.我想实现iOS滑动列表元素的样式来显示动作按钮.我的方法应该允许我在刷完一个RecyclerView项目后显示图标:

public void initializeListeners() {
        ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {

            @Override
            public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
                return false;
            }

            @Override
            public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
                int position = viewHolder.getAdapterPosition();

                if (direction == ItemTouchHelper.LEFT) {
                    Toast.makeText(getView().getContext(),"LEFT",Toast.LENGTH_LONG).show();
                }
            }

            @Override
            public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {

                Bitmap icon;
                if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) { …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

8
推荐指数
2
解决办法
2万
查看次数

在不使用库的情况下滑动(滑动以关闭)时在 recyclerview 项下创建按钮和按钮单击

我正在使用 RecyclerView 来显示我的列表。我使用 ItemTouchHelper 实现 Swipe 以关闭 RecyclerView。底层布局是通过使用画布在 OnchildDraw 方法中实现的。现在我有一个问题:我想在我的图标上设置 onclick。通过点击图标,我想做一些功能。这是我的课:

public class ItemTouchHelperCallback : ItemTouchHelper.SimpleCallback
{
    private ContactSearchedResultAdapter _adapter;
    private RecyclerView _mRecyclerView;
    private int _swipeCount;
    private Android.Content.Res.Resources _resources;
    public ItemTouchHelperCallback(ContactSearchedResultAdapter adapter, RecyclerView mRecyclerView, Android.Content.Res.Resources resources)
        : base(0, ItemTouchHelper.Left | ItemTouchHelper.Right)
    {
        this._adapter = adapter;
        this._mRecyclerView = mRecyclerView;
        this._resources = resources;
    }
    public override bool OnMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target)
    {
        return false;
    }

    public override void OnSwiped(RecyclerView.ViewHolder viewHolder, int direction)
    {
        if (direction == ItemTouchHelper.Left)
        {
            _adapter.RemoveViewWithDialog(viewHolder.AdapterPosition, _mRecyclerView, …
Run Code Online (Sandbox Code Playgroud)

android xamarin.android android-recyclerview

6
推荐指数
1
解决办法
1万
查看次数

如何使用 itemTouchHelper RecyclerView 为滑动菜单绘制三个按钮?

我想使用 ItemTouchHelper 创建类似的东西: 在此处输入图片说明

这张图片是从我目前的项目中拍摄的,但它是用它创建的,SwipeRevealLayout我很难自定义它。前几天,我看到了这个问题,并明白我可以ItemTouchHelper用来解决我的问题。我找到了这段代码并尝试在我的项目中使用它:

 val simpleCallback = object : ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT) {
            override fun onMove(p0: RecyclerView, p1: RecyclerView.ViewHolder, p2: RecyclerView.ViewHolder): Boolean {
                return false
            }

            override fun getSwipeDirs(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int {
                val position = viewHolder.adapterPosition
                if (position != editPosition) {
                    if (editPosition != -1 && flagSwiped) {
                        adapter.notifyItemChanged(position)
                        flagSwiped = false
                        editPosition = position
                    }
                }
                return super.getSwipeDirs(recyclerView, viewHolder)
            }

            override fun onSwiped(holder: RecyclerView.ViewHolder, direction: Int) {

            } …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview itemtouchhelper

5
推荐指数
1
解决办法
2121
查看次数

RecyclerView 项目并滑动以显示按钮

我正在尝试为RecyclerView的项目实现滑动。实现大多基于

背景

当用户滑动视图时,它会移动到正确的位置,但不会消失。-好的

示例:在用户滑动的项目 2 下方。红色方块是视图背后的背景。 在此处输入图片说明

然后:当用户点击滑动)被滑动的项目时,会触发转义动画(默认)。- 好的

问题:视图没有完全回到默认位置。用户可以在屏幕右侧看到部分背景(如下所示)。它需要第二次点击才能将视图设置在正确的位置。- 不好 在此处输入图片说明

为了更好地展示行为,我创建了一个GIF

代码关于ItemTouchHelper.SimpleCallback

class SwipeCallback : ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {


    override fun onMove(recyclerView: RecyclerView, viewHolder: ViewHolder, target: ViewHolder) =
        false

    override fun onChildDraw(
        canvas: Canvas,
        recyclerView: RecyclerView,
        viewHolder: ViewHolder,
        dX: Float,
        dY: Float,
        actionState: Int,
        active: Boolean
    ) {

        if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) {

            // SWIPE LEFT
            if (dX < 0) {

                // …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

5
推荐指数
1
解决办法
1725
查看次数