RadioButton focus background shape
I want to add focus ripple
effect to whole RadioButton
, but there is something strange is happening to it when I try to use ripple
effect with highlight. In the picture, left is what I get and right is what I want:
background_drawable:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorAccent">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>
</item>
</ripple>
styles.xml
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:background">@drawable/radio_button_background</item>
</style>
This happens only If I try to use ripple
effect and not if I try to use only shape
with selector
and state_focused=true
as background. For now my workaround is to use warpper View
class for RadioButton
and set background into it. Is there any way to get background as in the picture but without any additional code? Thanks.
android view themes android-radiobutton android-radiogroup
add a comment |
I want to add focus ripple
effect to whole RadioButton
, but there is something strange is happening to it when I try to use ripple
effect with highlight. In the picture, left is what I get and right is what I want:
background_drawable:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorAccent">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>
</item>
</ripple>
styles.xml
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:background">@drawable/radio_button_background</item>
</style>
This happens only If I try to use ripple
effect and not if I try to use only shape
with selector
and state_focused=true
as background. For now my workaround is to use warpper View
class for RadioButton
and set background into it. Is there any way to get background as in the picture but without any additional code? Thanks.
android view themes android-radiobutton android-radiogroup
add a comment |
I want to add focus ripple
effect to whole RadioButton
, but there is something strange is happening to it when I try to use ripple
effect with highlight. In the picture, left is what I get and right is what I want:
background_drawable:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorAccent">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>
</item>
</ripple>
styles.xml
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:background">@drawable/radio_button_background</item>
</style>
This happens only If I try to use ripple
effect and not if I try to use only shape
with selector
and state_focused=true
as background. For now my workaround is to use warpper View
class for RadioButton
and set background into it. Is there any way to get background as in the picture but without any additional code? Thanks.
android view themes android-radiobutton android-radiogroup
I want to add focus ripple
effect to whole RadioButton
, but there is something strange is happening to it when I try to use ripple
effect with highlight. In the picture, left is what I get and right is what I want:
background_drawable:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorAccent">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>
</item>
</ripple>
styles.xml
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:background">@drawable/radio_button_background</item>
</style>
This happens only If I try to use ripple
effect and not if I try to use only shape
with selector
and state_focused=true
as background. For now my workaround is to use warpper View
class for RadioButton
and set background into it. Is there any way to get background as in the picture but without any additional code? Thanks.
android view themes android-radiobutton android-radiogroup
android view themes android-radiobutton android-radiogroup
edited Nov 20 '18 at 16:26
Fantômas
32.7k156389
32.7k156389
asked Nov 20 '18 at 16:16
don11995don11995
10213
10213
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The solution is to set the button
attribute to null
and set the drawableStart
attribute in styles for the radio button:
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:button">@null</item>
<item name="android:drawableStart">@drawable/radio_button_selector</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:background">@drawable/radio_button_background</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingStart">8dp</item>
<item name="android:paddingEnd">8dp</item>
<item name="android:paddingTop">11dp</item>
<item name="android:paddingBottom">11dp</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="radioButtonStyle">@style/RadioButtonStyle</item>
<item name="android:radioButtonStyle">@style/RadioButtonStyle</item>
</style>
After that focus works as aspected and You can add background to the radio button as You want
add a comment |
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%2f53397175%2fradiobutton-focus-background-shape%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The solution is to set the button
attribute to null
and set the drawableStart
attribute in styles for the radio button:
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:button">@null</item>
<item name="android:drawableStart">@drawable/radio_button_selector</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:background">@drawable/radio_button_background</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingStart">8dp</item>
<item name="android:paddingEnd">8dp</item>
<item name="android:paddingTop">11dp</item>
<item name="android:paddingBottom">11dp</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="radioButtonStyle">@style/RadioButtonStyle</item>
<item name="android:radioButtonStyle">@style/RadioButtonStyle</item>
</style>
After that focus works as aspected and You can add background to the radio button as You want
add a comment |
The solution is to set the button
attribute to null
and set the drawableStart
attribute in styles for the radio button:
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:button">@null</item>
<item name="android:drawableStart">@drawable/radio_button_selector</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:background">@drawable/radio_button_background</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingStart">8dp</item>
<item name="android:paddingEnd">8dp</item>
<item name="android:paddingTop">11dp</item>
<item name="android:paddingBottom">11dp</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="radioButtonStyle">@style/RadioButtonStyle</item>
<item name="android:radioButtonStyle">@style/RadioButtonStyle</item>
</style>
After that focus works as aspected and You can add background to the radio button as You want
add a comment |
The solution is to set the button
attribute to null
and set the drawableStart
attribute in styles for the radio button:
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:button">@null</item>
<item name="android:drawableStart">@drawable/radio_button_selector</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:background">@drawable/radio_button_background</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingStart">8dp</item>
<item name="android:paddingEnd">8dp</item>
<item name="android:paddingTop">11dp</item>
<item name="android:paddingBottom">11dp</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="radioButtonStyle">@style/RadioButtonStyle</item>
<item name="android:radioButtonStyle">@style/RadioButtonStyle</item>
</style>
After that focus works as aspected and You can add background to the radio button as You want
The solution is to set the button
attribute to null
and set the drawableStart
attribute in styles for the radio button:
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:button">@null</item>
<item name="android:drawableStart">@drawable/radio_button_selector</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:background">@drawable/radio_button_background</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingStart">8dp</item>
<item name="android:paddingEnd">8dp</item>
<item name="android:paddingTop">11dp</item>
<item name="android:paddingBottom">11dp</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="radioButtonStyle">@style/RadioButtonStyle</item>
<item name="android:radioButtonStyle">@style/RadioButtonStyle</item>
</style>
After that focus works as aspected and You can add background to the radio button as You want
answered Nov 22 '18 at 10:45
don11995don11995
10213
10213
add a comment |
add a comment |
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%2f53397175%2fradiobutton-focus-background-shape%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