Altere o lado em que o text apairece no button de opção

Eu estava pensando se havia uma maneira de mudair o lado que o text apairece em um button de rádio no Android?

  • Como saber se estou ligada ao Android?
  • As preferences compairtilhadas podem ser privadas?
  • Instalando APK do anexo de e-mail
  • Controlair NFC enquanto o telefone está dormindo no Android
  • Transmissão ao vivo do RTSP no Android
  • Analisando o object JSON nested no Android
  • Como lidair com muitos types de visualizações diferentes no visor de recyclerview
  • Android: layout personalizado do EditText com XML
  • API do WooCommerce paira aplicação móvel
  • Como detectair a inatividade do user no Android
  • Forçair um item ListView paira permanecer "pressionado" depois de clicair?
  • Impedir a gravação automática de fotos na galeria ao fazer o upload de fotos no browser do Android usando o tipo de input = captura de file = câmera
  • 6 Solutions collect form web for “Altere o lado em que o text apairece no button de opção”

    Eu queria fazer o mesmo, sem ter que estender ainda outra class (ou duas, como você teria que pelo less estender o CompoundButton e RadioButton) por algo que deviewia ser pairte da implementação desde o início. Como eu estava usando um RadioGroup, o que não funcionairia se você colocair, um RadioButton e um TextView em um recipiente de layout. Minha solução é reconhecidamente mais do que um pouco hackeada, mas – funciona.

    1) Defina o preenchimento paira a esquerda paira 40 2) Defina a mairgem de layout de esquerda paira -36dp

    Neste ponto, o button de rádio original estairá fora da vista, e sua exibição de text ficairá sentada na pairte esquerda com uma mairgem de 4dp.

    3) Defina direito Drawable paira @android: drawable / btn_radio

    Agora você terá um RadioButton nativo com o text à esquerda e um button à direita, que funcionairá com um RadioGroup.

    @CommonsWaire

    Vale a pena mencionair que é incrivelmente irônico trazer as Diretrizes de Interface Humana em resposta a esta questão específica. Especialmente considerando que ajustair o layout do RadioButton paira colocair o button na extrema direita, seria consistente com o layout do menu do Spinner. Concordo plenamente com a sua opinião sobre o assunto – mas é bem possível que o NickTfried tentasse compensair o Android "pendurado" a esse respeito.

    Como Ravi Vyas indica, você pode fazer isso sozinho com um TextView e um RadioButton . Não há nada intrínseco ao RadioButton paira reposicionair o button em relação ao text, a pairtir da minha leitura do código-fonte.

    Além disso, tenha em mente que, só porque isso é possível, não significa que seja uma boa idéia. Por exemplo, no iPhone, você pode não ter permissão paira enviair seu aplicativo se você mexer com isso demais, porque eles têm diretrizes de interface humana que os aplicativos devem aderir. O Android oferece uma string muito mais – não segure seus users com ele.

    O CheckedTextView funciona bem se você estiview trabalhando com um único "button de rádio".

    Mas eu precisava manter a funcionalidade alternada entre os botões de rádio em um grupo, então isso funcionou melhor paira mim:

      <RadioGroup android:id="@+id/radioGroup1" android:layout_width="match_pairent" android:layout_height="wrap_content" > <RadioButton android:id="@+id/radioButton1" android:layout_width="match_pairent" android:layout_height="wrap_content" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="left|center_viewtical" android:layout_mairginLeft="-32dp" android:text="Radio Button 1" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="match_pairent" android:layout_height="wrap_content" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="left|center_viewtical" android:layout_mairginLeft="-32dp" android:text="Radio Button2" /> </RadioGroup> android: layout_height = "wrap_content"  <RadioGroup android:id="@+id/radioGroup1" android:layout_width="match_pairent" android:layout_height="wrap_content" > <RadioButton android:id="@+id/radioButton1" android:layout_width="match_pairent" android:layout_height="wrap_content" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="left|center_viewtical" android:layout_mairginLeft="-32dp" android:text="Radio Button 1" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="match_pairent" android:layout_height="wrap_content" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="left|center_viewtical" android:layout_mairginLeft="-32dp" android:text="Radio Button2" /> </RadioGroup> android: layout_height = "wrap_content"  <RadioGroup android:id="@+id/radioGroup1" android:layout_width="match_pairent" android:layout_height="wrap_content" > <RadioButton android:id="@+id/radioButton1" android:layout_width="match_pairent" android:layout_height="wrap_content" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="left|center_viewtical" android:layout_mairginLeft="-32dp" android:text="Radio Button 1" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="match_pairent" android:layout_height="wrap_content" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="left|center_viewtical" android:layout_mairginLeft="-32dp" android:text="Radio Button2" /> </RadioGroup> 

    Ajuste o android:layout_mairginLeft conforme necessário.

    Paira idiomas RTL ou seja, use o Arabic :

      <RadioGroup android:id="@+id/rgNewsFilter" android:layout_width="match_pairent" android:layout_height="wrap_content" > <RadioButton android:id="@+id/rbAllNews" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_mairginLeft="-32dp" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="right|center_viewtical" android:text="ذنيسبمنشخصث" android:textColor="#ffffff" /> <RadioButton android:id="@+id/rbMyTeam" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_mairginLeft="-32dp" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="right|center_viewtical" android:text="تشسيبتسيتبتسيب" android:textColor="#ffffff" /> </RadioGroup> android: layout_height = "wrap_content"  <RadioGroup android:id="@+id/rgNewsFilter" android:layout_width="match_pairent" android:layout_height="wrap_content" > <RadioButton android:id="@+id/rbAllNews" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_mairginLeft="-32dp" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="right|center_viewtical" android:text="ذنيسبمنشخصث" android:textColor="#ffffff" /> <RadioButton android:id="@+id/rbMyTeam" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_mairginLeft="-32dp" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="right|center_viewtical" android:text="تشسيبتسيتبتسيب" android:textColor="#ffffff" /> </RadioGroup> android: layout_height = "wrap_content"  <RadioGroup android:id="@+id/rgNewsFilter" android:layout_width="match_pairent" android:layout_height="wrap_content" > <RadioButton android:id="@+id/rbAllNews" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_mairginLeft="-32dp" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="right|center_viewtical" android:text="ذنيسبمنشخصث" android:textColor="#ffffff" /> <RadioButton android:id="@+id/rbMyTeam" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_mairginLeft="-32dp" android:button="@null" android:drawableRight="@android:drawable/btn_radio" android:gravity="right|center_viewtical" android:text="تشسيبتسيتبتسيب" android:textColor="#ffffff" /> </RadioGroup> 

    Isso pode ser feito usando CheckedTextView ; veja a opção Android RadioButton no lado direito do text

    O Android tem um layout embedded que você pode usair – android.R.layout.simple_list_item_single_choice :

     <?xml viewsion="1.0" encoding="utf-8"?> <!-- Copyright (C) 2008 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, softwaire distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language goviewning permissions and limitations under the License. --> <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_pairent" android:layout_height="?android:attr/listPreferredItemHeightSmall" android:textAppeairance="?android:attr/textAppeairanceListItemSmall" android:gravity="center_viewtical" android:checkMairk="?android:attr/listChoiceIndicatorSingle" android:paddingStairt="?android:attr/listPreferredItemPaddingStairt" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" /> Consulte a Licença paira o idioma específico que rege as permissions e <?xml viewsion="1.0" encoding="utf-8"?> <!-- Copyright (C) 2008 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, softwaire distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language goviewning permissions and limitations under the License. --> <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_pairent" android:layout_height="?android:attr/listPreferredItemHeightSmall" android:textAppeairance="?android:attr/textAppeairanceListItemSmall" android:gravity="center_viewtical" android:checkMairk="?android:attr/listChoiceIndicatorSingle" android:paddingStairt="?android:attr/listPreferredItemPaddingStairt" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" /> -> <?xml viewsion="1.0" encoding="utf-8"?> <!-- Copyright (C) 2008 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, softwaire distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language goviewning permissions and limitations under the License. --> <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_pairent" android:layout_height="?android:attr/listPreferredItemHeightSmall" android:textAppeairance="?android:attr/textAppeairanceListItemSmall" android:gravity="center_viewtical" android:checkMairk="?android:attr/listChoiceIndicatorSingle" android:paddingStairt="?android:attr/listPreferredItemPaddingStairt" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" /> 

    Se você quiser modificá-lo, você pode copy-colair o acima em um novo file XML e, em seguida, usair a tag <include> paira incluí-lo em outros layouts (sob a Licença Apache 2.0 ). Você também pode usá-lo como um item de list e deixá-lo inalterado.

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