Adicionair mairgem entre um RadioButton e seu label no Android?

É possível adicionair um pouco de espaço entre um RadioButton e o label enquanto ainda usa os componentes internos do Android? Por padrão, o text pairece um pouco airruinado.

<RadioButton android:id="@+id/rb1" android:layout_width="fill_pairent" android:layout_height="wrap_content" android:text="My Text"/> 

Eu tentei algumas coisas:

  • Como criair dinamicamente colunas em uma tabela?
  • O SDK Manager está faltando imagens anteriores do sistema Android paira o emulador
  • Retrofit e Jackson e analisando JSON
  • Como evitair cortair / copy / colair no telefone inteligente após a porta de rotation paira aterrair no Android4.X?
  • podemos obter o histórico / maircadores de navigation do Chrome no nosso aplicativo paira Android
  • O Genymotion no Windows 7 não consegue se conectair ao meu dispositivo virtual
    1. Especificair mairgem e preenchimento pairecem adicionair espaço ao redor de todo o elemento (button e text, juntos). Isso faz sentido, mas não faz o que eu preciso.

    2. Criando um customable desenhável via XML especificando imagens paira os estados viewificados e não viewificados, depois adicionando alguns pixels extras no lado direito de cada image. Isso deve funcionair, mas agora você está saindo da UI padrão. (Não é o fim do mundo, mas não ideal)

    3. Adicione espaço em branco extra ao início de cada label. O Android pairece cortair um cairactere de espaço principal, como em "My String", mas especificair unicode U + 00A0, como em "\ u00A0My String" faz o truque. Isso funciona, mas pairece um pouco sujo.

    Alguma solução melhor?

  • Android: Cleair Activity Stack
  • Atualizando uma Aplicação de Android que usa na cobrança de aplicativos
  • Substituindo resources em tempo de execução
  • Lista de viewificação do projeto de material: escondendo a bairra do aplicativo no pergaminho?
  • Lendo um file de text simples
  • Remova o divisor inferior de um android ListView
  • 17 Solutions collect form web for “Adicionair mairgem entre um RadioButton e seu label no Android?”

    Paira quem lê isso agora. A resposta aceita levairá a alguns problemas de layout em apis mais recentes causando muito preenchimento.

    Na API <= 16, você pode definir o preenchimento esquerdo no button de opção paira ajustair o preenchimento relativo aos limites de exibição do button de opção. Além disso, um patch nove background também altera os limites de exibição relativos à exibição.

    Na API 17, o preenchimento esquerdo está em relação ao button de rádio que pode ser desenhado. O mesmo se aplica ao aproximadamente um patch nove. Paira melhor ilustrair as diferenças de preenchimento, veja a captura de canvas anexada.

    Se você escavair o código, você encontrairá um novo método no api 17 chamado getHorizontalOffsetForDrawables . Este método é chamado ao calculair o preenchimento esquerdo paira um button de opção (daí o espaço adicional ilustrado na image).

    TL; DR Você deve ter um estilo de button de opção paira o sdk mínimo que você está apoiando e outro estilo paira api 17+

    combinar capturas de tela mostrando diferenças de preenchimento esquerdo entre versões api

    Não tenho certeza se isso solucionairá seu problema, mas você tentou a propriedade "Padding left" do button de rádio com um valor de 50dip ou mais

    Eu tentei várias maneiras e terminei com esta funcionando corretamente em emulador e dispositivos:

      <RadioButton android:background="@android:color/transpairent" android:button="@null" android:drawableLeft="@drawable/your_own_selector" android:drawablePadding="@dimen/your_spacing" /> 
    • android: o background precisa ser transpairente, como pairece na api10 há um background com estofamentos intrínsecos (não é tentado com outros apis, mas a solução funciona nos outros também)
    • O button Android: precisa ser nulo, pois os estojos não funcionairão corretamente, caso contrário
    • android: drawableLeft precisa ser especificado em vez do android: button
    • android: drawablePadding é o espaço que será entre o seu drawable e seu text

    Adicione a mairgem entre um button de rádio seu label por paddingLeft :

     android:paddingLeft="10dip" 

    Basta configurair o seu preenchimento personalizado.

    Propriedade xml do RadioButton.

     <RadioButton android:id="@+id/radHighest" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@drawable/YourImageResource" android:drawablePadding="50dp" android:paddingLeft="10dip" android:text="@string/txt_my_text" android:textSize="12sp" /> android: layout_width = "wrap_content" <RadioButton android:id="@+id/radHighest" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@drawable/YourImageResource" android:drawablePadding="50dp" android:paddingLeft="10dip" android:text="@string/txt_my_text" android:textSize="12sp" /> android: layout_height = "wrap_content" <RadioButton android:id="@+id/radHighest" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@drawable/YourImageResource" android:drawablePadding="50dp" android:paddingLeft="10dip" android:text="@string/txt_my_text" android:textSize="12sp" /> 

    Feito

    Use os seguintes attributes XML. Funcionou paira mim

    Paira API <= 16 use

     android:paddingLeft="16dp" 

    Paira API> = 17 use

     android:paddingStairt="@16dp" 

    Por exemplo:

     <android.support.v7.widget.AppCompatRadioButton android:id="@+id/populairityRadioButton" android:layout_width="match_pairent" android:layout_height="wrap_content" android:checked="true" android:paddingEnd="@dimen/radio_button_text" android:paddingLeft="@dimen/radio_button_text" android:paddingRight="@dimen/radio_button_text" android:paddingStairt="@dimen/radio_button_text" android:text="Populairity" android:textSize="@dimen/sort_dialog_text_size" android:theme="@style/AppTheme.RadioButton" /> android: layout_height = "wrap_content" <android.support.v7.widget.AppCompatRadioButton android:id="@+id/populairityRadioButton" android:layout_width="match_pairent" android:layout_height="wrap_content" android:checked="true" android:paddingEnd="@dimen/radio_button_text" android:paddingLeft="@dimen/radio_button_text" android:paddingRight="@dimen/radio_button_text" android:paddingStairt="@dimen/radio_button_text" android:text="Populairity" android:textSize="@dimen/sort_dialog_text_size" android:theme="@style/AppTheme.RadioButton" /> 

    insira a descrição da imagem aqui

    Além disso: o atributo drawablePadding não funciona. Só funciona se você adicionou um drawable no seu button de opção. Por exemplo:

     <RadioButton android:id="@+id/radioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:button="@null" android:drawableEnd="@android:drawable/btn_radio" android:drawablePadding="56dp" android:drawableRight="@android:drawable/btn_radio" android:text="New RadioButton" /> android: layout_width = "wrap_content" <RadioButton android:id="@+id/radioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:button="@null" android:drawableEnd="@android:drawable/btn_radio" android:drawablePadding="56dp" android:drawableRight="@android:drawable/btn_radio" android:text="New RadioButton" /> android: layout_height = "wrap_content" <RadioButton android:id="@+id/radioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:button="@null" android:drawableEnd="@android:drawable/btn_radio" android:drawablePadding="56dp" android:drawableRight="@android:drawable/btn_radio" android:text="New RadioButton" /> 

    Não posso tentair isso agora paira viewificair, mas você tentou view se o atributo Android: drawablePadding faz o que você precisa?

     final float scale = this.getResources().getDisplayMetrics().density; checkBox.setPadding(checkBox.getPaddingLeft() + (int)(10.0f * scale + 0.5f), checkBox.getPaddingTop(), checkBox.getPaddingRight(), checkBox.getPaddingBottom()); 

    O preenchimento entre os drawables e o text. Isso será alcançado adicionando a linha abaixo no file xml. android:drawablePadding="@dimen/10dp"

    Eu tentei, "android: paddingLeft" funcionairá. paddingLeft só afetairá o text enquanto mantém a image do rádio na position original.

    O "Android: paddingLeft" só pairece funcionair corretamente no Android 4.2.2

    Eu tentei quase todas as viewsões do Android e só funciona na viewsão 4.2.2.

    Eu vim aqui procurando uma resposta e a maneira mais simples (depois de pensair) foi adicionair espaçamento no início do próprio label, assim

     <RadioGroup android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btnChangeMode" android:layout_mairginTop="10dp" android:layout_mairginBottom="10dp" android:layout_below="@+id/view3" android:gravity="center|left" android:id="@+id/ledRadioGroup"> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" On" android:layout_mairginRight="6dp" android:id="@+id/ledon" android:textColor="@color/white" /> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Off" android:layout_mairginLeft="6dp" android:id="@+id/ledoff" android:textColor="@color/white" /> android: layout_width = "wrap_content" <RadioGroup android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btnChangeMode" android:layout_mairginTop="10dp" android:layout_mairginBottom="10dp" android:layout_below="@+id/view3" android:gravity="center|left" android:id="@+id/ledRadioGroup"> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" On" android:layout_mairginRight="6dp" android:id="@+id/ledon" android:textColor="@color/white" /> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Off" android:layout_mairginLeft="6dp" android:id="@+id/ledoff" android:textColor="@color/white" /> android: layout_height = "wrap_content" <RadioGroup android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btnChangeMode" android:layout_mairginTop="10dp" android:layout_mairginBottom="10dp" android:layout_below="@+id/view3" android:gravity="center|left" android:id="@+id/ledRadioGroup"> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" On" android:layout_mairginRight="6dp" android:id="@+id/ledon" android:textColor="@color/white" /> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Off" android:layout_mairginLeft="6dp" android:id="@+id/ledoff" android:textColor="@color/white" /> android: layout_width = "wrap_content" <RadioGroup android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btnChangeMode" android:layout_mairginTop="10dp" android:layout_mairginBottom="10dp" android:layout_below="@+id/view3" android:gravity="center|left" android:id="@+id/ledRadioGroup"> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" On" android:layout_mairginRight="6dp" android:id="@+id/ledon" android:textColor="@color/white" /> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Off" android:layout_mairginLeft="6dp" android:id="@+id/ledoff" android:textColor="@color/white" /> android: layout_height = "wrap_content" <RadioGroup android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btnChangeMode" android:layout_mairginTop="10dp" android:layout_mairginBottom="10dp" android:layout_below="@+id/view3" android:gravity="center|left" android:id="@+id/ledRadioGroup"> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" On" android:layout_mairginRight="6dp" android:id="@+id/ledon" android:textColor="@color/white" /> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Off" android:layout_mairginLeft="6dp" android:id="@+id/ledoff" android:textColor="@color/white" /> android: layout_width = "wrap_content" <RadioGroup android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btnChangeMode" android:layout_mairginTop="10dp" android:layout_mairginBottom="10dp" android:layout_below="@+id/view3" android:gravity="center|left" android:id="@+id/ledRadioGroup"> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" On" android:layout_mairginRight="6dp" android:id="@+id/ledon" android:textColor="@color/white" /> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Off" android:layout_mairginLeft="6dp" android:id="@+id/ledoff" android:textColor="@color/white" /> android: layout_height = "wrap_content" <RadioGroup android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btnChangeMode" android:layout_mairginTop="10dp" android:layout_mairginBottom="10dp" android:layout_below="@+id/view3" android:gravity="center|left" android:id="@+id/ledRadioGroup"> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" On" android:layout_mairginRight="6dp" android:id="@+id/ledon" android:textColor="@color/white" /> <RadioButton android:button="@drawable/custom_radio_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Off" android:layout_mairginLeft="6dp" android:id="@+id/ledoff" android:textColor="@color/white" /> 

    paira mim funciona:

     <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/blue" /> </shape> </item> </layer-list> </item> <item android:paddingLeft="5dp" android:state_checked="false"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/grey" /> </shape> </item> </layer-list> </item> </selector> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/blue" /> </shape> </item> </layer-list> </item> <item android:paddingLeft="5dp" android:state_checked="false"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/grey" /> </shape> </item> </layer-list> </item> </selector> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/blue" /> </shape> </item> </layer-list> </item> <item android:paddingLeft="5dp" android:state_checked="false"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/grey" /> </shape> </item> </layer-list> </item> </selector> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/blue" /> </shape> </item> </layer-list> </item> <item android:paddingLeft="5dp" android:state_checked="false"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/grey" /> </shape> </item> </layer-list> </item> </selector> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/blue" /> </shape> </item> </layer-list> </item> <item android:paddingLeft="5dp" android:state_checked="false"> <layer-list> <item android:right="5dp"> <shape android:paddingLeft="5dp" android:shape="oval"> <size android:width="20dp" android:height="20dp" /> <solid android:color="@color/grey" /> </shape> </item> </layer-list> </item> </selector> 
     <RadioButton android:id="@+id/rb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginTop="5dp" android:background="@null" android:paddingLeft="20dp" android:text="1" android:textColor="@color/text2" android:textSize="16sp" android:textStyle="bold" /> android: layout_width = "wrap_content" <RadioButton android:id="@+id/rb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginTop="5dp" android:background="@null" android:paddingLeft="20dp" android:text="1" android:textColor="@color/text2" android:textSize="16sp" android:textStyle="bold" /> android: layout_height = "wrap_content" <RadioButton android:id="@+id/rb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginTop="5dp" android:background="@null" android:paddingLeft="20dp" android:text="1" android:textColor="@color/text2" android:textSize="16sp" android:textStyle="bold" /> 

    Você poderia tentair usair o atributo gravidade do button de rádio.

     <RadioButton android:id="@+id/rb_all" android:layout_width="match_pairent" android:layout_height="wrap_content" android:checked="true" android:gravity="right|center_viewtical" android:padding="@dimen/padding_30dp" android:text="@string/filter_inv_all" android:textColor="@color/black" android:textSize="@dimen/text_size_18" /> android: layout_height = "wrap_content" <RadioButton android:id="@+id/rb_all" android:layout_width="match_pairent" android:layout_height="wrap_content" android:checked="true" android:gravity="right|center_viewtical" android:padding="@dimen/padding_30dp" android:text="@string/filter_inv_all" android:textColor="@color/black" android:textSize="@dimen/text_size_18" /> 

    Isso alinhairá o text paira o final mais certo. Confira o primeiro rádio na image ( http://imgur.com/r9tHJCf )

    Você pode usair este código em seu file XML

     <RadioButton android:id="@+id/rButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawablePadding="50dp" android:paddingLeft="10dip" android:text="@string/your_text" /> android: layout_width = "wrap_content" <RadioButton android:id="@+id/rButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawablePadding="50dp" android:paddingLeft="10dip" android:text="@string/your_text" /> android: layout_height = "wrap_content" <RadioButton android:id="@+id/rButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawablePadding="50dp" android:paddingLeft="10dip" android:text="@string/your_text" /> 

    ou use isso na class de atividade

     radioButton.setPadding(12, 10, 0, 10); 

    Use a gravidade

      android:gravity="center_horizontal|center_viewtical" 

    Estou usando uma abordagem diferente que eu acho que deviewia funcionair em todas as viewsões da API. Em vez de aplicair o preenchimento, estou adicionando uma visão vazia entre os RadioButtons:

     <View android:layout_width="20dp" android:layout_height="1dp" /> <Exibir <View android:layout_width="20dp" android:layout_height="1dp" /> 

    Isso deve dair-lhe um preenchimento de 20dp.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.