How to draw a drawable onto a canvas?
I have made a class SwipeController
class which extends Callback
.
onChildDraw
is as follows:
@Override
public void onChildDraw(Canvas c,
RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder,
float dX, float dY,
int actionState, boolean isCurrentlyActive) {
drawButtons(c, viewHolder);
if (actionState == ACTION_STATE_SWIPE) {
setTouchListener(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
drawButtons
method is as follows:
private void drawButtons(Canvas c, RecyclerView.ViewHolder viewHolder) {
float buttonWidthWithoutPadding = buttonWidth - 20;
float corners = 2;
View itemView = viewHolder.itemView;
Paint p = new Paint();
RectF leftButton = new RectF(itemView.getLeft(), itemView.getTop(), itemView.getLeft() + buttonWidthWithoutPadding, itemView.getBottom());
p.setColor(Color.BLUE);
c.drawRoundRect(leftButton, corners, corners, p);
drawText("EDIT", c, leftButton, p);
RectF rightButton = new RectF(itemView.getRight() - buttonWidthWithoutPadding, itemView.getTop()+20, itemView.getRight()-20, itemView.getBottom()-20);
p.setColor(Color.RED);
c.drawRoundRect(rightButton, corners, corners, p);
drawText("DELETE", c, rightButton, p);
buttonInstance = null;
if (buttonShowedState == ButtonsState.LEFT_VISIBLE) {
buttonInstance = leftButton;
}
else if (buttonShowedState == ButtonsState.RIGHT_VISIBLE) {
buttonInstance = rightButton;
}
}
Now this works fine as expected. But I want to use drawable images instead of just simple text on the buttons. Is there a way to do it? Any help will be appreciated.
android itemtouchhelper
|
show 4 more comments
I have made a class SwipeController
class which extends Callback
.
onChildDraw
is as follows:
@Override
public void onChildDraw(Canvas c,
RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder,
float dX, float dY,
int actionState, boolean isCurrentlyActive) {
drawButtons(c, viewHolder);
if (actionState == ACTION_STATE_SWIPE) {
setTouchListener(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
drawButtons
method is as follows:
private void drawButtons(Canvas c, RecyclerView.ViewHolder viewHolder) {
float buttonWidthWithoutPadding = buttonWidth - 20;
float corners = 2;
View itemView = viewHolder.itemView;
Paint p = new Paint();
RectF leftButton = new RectF(itemView.getLeft(), itemView.getTop(), itemView.getLeft() + buttonWidthWithoutPadding, itemView.getBottom());
p.setColor(Color.BLUE);
c.drawRoundRect(leftButton, corners, corners, p);
drawText("EDIT", c, leftButton, p);
RectF rightButton = new RectF(itemView.getRight() - buttonWidthWithoutPadding, itemView.getTop()+20, itemView.getRight()-20, itemView.getBottom()-20);
p.setColor(Color.RED);
c.drawRoundRect(rightButton, corners, corners, p);
drawText("DELETE", c, rightButton, p);
buttonInstance = null;
if (buttonShowedState == ButtonsState.LEFT_VISIBLE) {
buttonInstance = leftButton;
}
else if (buttonShowedState == ButtonsState.RIGHT_VISIBLE) {
buttonInstance = rightButton;
}
}
Now this works fine as expected. But I want to use drawable images instead of just simple text on the buttons. Is there a way to do it? Any help will be appreciated.
android itemtouchhelper
What are you asking, exactly? How to draw images to aCanvas
?
– Mike M.
Nov 24 '18 at 19:52
Yes. I have tried some answers but did not get the solution with any. Maybe I am missing something.
– Ashish Yadav
Nov 24 '18 at 19:57
did you checkDrawable
class API documentation? if so, what's unclear?
– pskink
Nov 24 '18 at 20:20
The thing is its kind of silly. I have seen the documentation also. I actually don't know how to reach to my drawable files.Drawable
needsandroid.graphics.drawable
. AndR.drawable.some_drawable
givesint
. I am using this swipe thing for the very first time.
– Ashish Yadav
Nov 24 '18 at 20:25
isR.drawable.some_drawable
a png/jpg/gif image?
– pskink
Nov 24 '18 at 20:38
|
show 4 more comments
I have made a class SwipeController
class which extends Callback
.
onChildDraw
is as follows:
@Override
public void onChildDraw(Canvas c,
RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder,
float dX, float dY,
int actionState, boolean isCurrentlyActive) {
drawButtons(c, viewHolder);
if (actionState == ACTION_STATE_SWIPE) {
setTouchListener(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
drawButtons
method is as follows:
private void drawButtons(Canvas c, RecyclerView.ViewHolder viewHolder) {
float buttonWidthWithoutPadding = buttonWidth - 20;
float corners = 2;
View itemView = viewHolder.itemView;
Paint p = new Paint();
RectF leftButton = new RectF(itemView.getLeft(), itemView.getTop(), itemView.getLeft() + buttonWidthWithoutPadding, itemView.getBottom());
p.setColor(Color.BLUE);
c.drawRoundRect(leftButton, corners, corners, p);
drawText("EDIT", c, leftButton, p);
RectF rightButton = new RectF(itemView.getRight() - buttonWidthWithoutPadding, itemView.getTop()+20, itemView.getRight()-20, itemView.getBottom()-20);
p.setColor(Color.RED);
c.drawRoundRect(rightButton, corners, corners, p);
drawText("DELETE", c, rightButton, p);
buttonInstance = null;
if (buttonShowedState == ButtonsState.LEFT_VISIBLE) {
buttonInstance = leftButton;
}
else if (buttonShowedState == ButtonsState.RIGHT_VISIBLE) {
buttonInstance = rightButton;
}
}
Now this works fine as expected. But I want to use drawable images instead of just simple text on the buttons. Is there a way to do it? Any help will be appreciated.
android itemtouchhelper
I have made a class SwipeController
class which extends Callback
.
onChildDraw
is as follows:
@Override
public void onChildDraw(Canvas c,
RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder,
float dX, float dY,
int actionState, boolean isCurrentlyActive) {
drawButtons(c, viewHolder);
if (actionState == ACTION_STATE_SWIPE) {
setTouchListener(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
drawButtons
method is as follows:
private void drawButtons(Canvas c, RecyclerView.ViewHolder viewHolder) {
float buttonWidthWithoutPadding = buttonWidth - 20;
float corners = 2;
View itemView = viewHolder.itemView;
Paint p = new Paint();
RectF leftButton = new RectF(itemView.getLeft(), itemView.getTop(), itemView.getLeft() + buttonWidthWithoutPadding, itemView.getBottom());
p.setColor(Color.BLUE);
c.drawRoundRect(leftButton, corners, corners, p);
drawText("EDIT", c, leftButton, p);
RectF rightButton = new RectF(itemView.getRight() - buttonWidthWithoutPadding, itemView.getTop()+20, itemView.getRight()-20, itemView.getBottom()-20);
p.setColor(Color.RED);
c.drawRoundRect(rightButton, corners, corners, p);
drawText("DELETE", c, rightButton, p);
buttonInstance = null;
if (buttonShowedState == ButtonsState.LEFT_VISIBLE) {
buttonInstance = leftButton;
}
else if (buttonShowedState == ButtonsState.RIGHT_VISIBLE) {
buttonInstance = rightButton;
}
}
Now this works fine as expected. But I want to use drawable images instead of just simple text on the buttons. Is there a way to do it? Any help will be appreciated.
android itemtouchhelper
android itemtouchhelper
asked Nov 24 '18 at 19:43
Ashish YadavAshish Yadav
161216
161216
What are you asking, exactly? How to draw images to aCanvas
?
– Mike M.
Nov 24 '18 at 19:52
Yes. I have tried some answers but did not get the solution with any. Maybe I am missing something.
– Ashish Yadav
Nov 24 '18 at 19:57
did you checkDrawable
class API documentation? if so, what's unclear?
– pskink
Nov 24 '18 at 20:20
The thing is its kind of silly. I have seen the documentation also. I actually don't know how to reach to my drawable files.Drawable
needsandroid.graphics.drawable
. AndR.drawable.some_drawable
givesint
. I am using this swipe thing for the very first time.
– Ashish Yadav
Nov 24 '18 at 20:25
isR.drawable.some_drawable
a png/jpg/gif image?
– pskink
Nov 24 '18 at 20:38
|
show 4 more comments
What are you asking, exactly? How to draw images to aCanvas
?
– Mike M.
Nov 24 '18 at 19:52
Yes. I have tried some answers but did not get the solution with any. Maybe I am missing something.
– Ashish Yadav
Nov 24 '18 at 19:57
did you checkDrawable
class API documentation? if so, what's unclear?
– pskink
Nov 24 '18 at 20:20
The thing is its kind of silly. I have seen the documentation also. I actually don't know how to reach to my drawable files.Drawable
needsandroid.graphics.drawable
. AndR.drawable.some_drawable
givesint
. I am using this swipe thing for the very first time.
– Ashish Yadav
Nov 24 '18 at 20:25
isR.drawable.some_drawable
a png/jpg/gif image?
– pskink
Nov 24 '18 at 20:38
What are you asking, exactly? How to draw images to a
Canvas
?– Mike M.
Nov 24 '18 at 19:52
What are you asking, exactly? How to draw images to a
Canvas
?– Mike M.
Nov 24 '18 at 19:52
Yes. I have tried some answers but did not get the solution with any. Maybe I am missing something.
– Ashish Yadav
Nov 24 '18 at 19:57
Yes. I have tried some answers but did not get the solution with any. Maybe I am missing something.
– Ashish Yadav
Nov 24 '18 at 19:57
did you check
Drawable
class API documentation? if so, what's unclear?– pskink
Nov 24 '18 at 20:20
did you check
Drawable
class API documentation? if so, what's unclear?– pskink
Nov 24 '18 at 20:20
The thing is its kind of silly. I have seen the documentation also. I actually don't know how to reach to my drawable files.
Drawable
needs android.graphics.drawable
. And R.drawable.some_drawable
gives int
. I am using this swipe thing for the very first time.– Ashish Yadav
Nov 24 '18 at 20:25
The thing is its kind of silly. I have seen the documentation also. I actually don't know how to reach to my drawable files.
Drawable
needs android.graphics.drawable
. And R.drawable.some_drawable
gives int
. I am using this swipe thing for the very first time.– Ashish Yadav
Nov 24 '18 at 20:25
is
R.drawable.some_drawable
a png/jpg/gif image?– pskink
Nov 24 '18 at 20:38
is
R.drawable.some_drawable
a png/jpg/gif image?– pskink
Nov 24 '18 at 20:38
|
show 4 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53461759%2fhow-to-draw-a-drawable-onto-a-canvas%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53461759%2fhow-to-draw-a-drawable-onto-a-canvas%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What are you asking, exactly? How to draw images to a
Canvas
?– Mike M.
Nov 24 '18 at 19:52
Yes. I have tried some answers but did not get the solution with any. Maybe I am missing something.
– Ashish Yadav
Nov 24 '18 at 19:57
did you check
Drawable
class API documentation? if so, what's unclear?– pskink
Nov 24 '18 at 20:20
The thing is its kind of silly. I have seen the documentation also. I actually don't know how to reach to my drawable files.
Drawable
needsandroid.graphics.drawable
. AndR.drawable.some_drawable
givesint
. I am using this swipe thing for the very first time.– Ashish Yadav
Nov 24 '18 at 20:25
is
R.drawable.some_drawable
a png/jpg/gif image?– pskink
Nov 24 '18 at 20:38