-1
votes

Dessiner la ligne avec l'ombre

En ce moment je dessine la ligne sans ombre:

override fun onDraw(canvas: Canvas, parent: RecyclerView, state: RecyclerView.State) {
        val dividerStart = parent.paddingStart
        val dividerEnd = parent.width - parent.paddingEnd
        val endIndex = parent.adapter?.itemCount ?: 0
        for (index in 0 until endIndex) {
            val currentChild = parent.getChildAt(index)
            if (needDrawBottomDelimiter(parent, currentChild)) {
                val topOfCurrentView = currentChild.top
                val startX = dividerStart.toFloat()
                val topY = topOfCurrentView.toFloat() - rectHeight
                val endX = dividerEnd.toFloat()
                val bottomY = topOfCurrentView.toFloat()
                canvas.drawRect(startX, topY, endX, bottomY, spacePaint)
                canvas.drawLine(startX, bottomY, endX, bottomY, dividerPaint)
            }
        }
    }


3 commentaires

Peut-être peut-être que cela peut aider Stackoverflow.com/questions/18099465/...


@deepakkumar thx, c'est résolu mon problème;)


Dupliquer possible de créer une ombre autour d'une forme dessinée en toile?


3 Réponses :


0
votes

Dans votre présentation, vous pouvez faire:

    <View
    android:layout_width="match_parent"
    android:layout_height="0.5dp"
    android:elevation="5dp"
    android:background="@color/colorBlack" />


1 commentaires

J'ai besoin de définir par programme de manière programmatique pour toute la vue



0
votes

Vous venez d'essayer la méthode ci-dessous:

 Paint paint;

 paint = new Paint(Paint.ANTI_ALIAS_FLAG);
 paint.setShadowLayer(12, 0, 0, Color.YELLOW);

 // Important for certain APIs 
 setLayerType(LAYER_TYPE_SOFTWARE, paint);

    @Override
    protected void onDraw(Canvas canvas)
    {   
        canvas.drawRect(20, 20, 100, 100, paint);
    }


0 commentaires

0
votes

J'ai résolu le problème avec Commentaire Deepak kumar xxx


0 commentaires