我想知道是否有切換文本出現在android單選按鈕上的邊的方法?更改文本出現在單選按鈕上的邊
回答
正如Ravi Vyas所示,您可以使用TextView
和RadioButton
自己完成此操作。 RadioButton
沒有什麼內在的東西來重新定位按鈕相對於文本,從我的源代碼閱讀。
此外,請記住,僅僅因爲這可能並不意味着這是一個好主意。例如,在iPhone上,如果您太過於混淆您的應用,則可能不允許發佈您的應用,因爲它們具有應用必須遵守的人機界面準則。 Android給了你更多的繩索 - 不要讓你的用戶掛在它上面。
我想做同樣的事情,而不必又擴展另一個類(或兩個,因爲你將不得不至少延長CompoundButton 和單選)的東西,應該是從一開始就執行工作的一部分。因爲我使用的是RadioGroup,如果你在佈局容器中放置RadioButton和TextView,它將不起作用。毫無疑問,我的解決方案有點冒失,但 - 它的工作原理。
1)設置填充留給40 2)設置佈局保證金留給-36dp
此時,原來的單選按鈕將視圖外,和你的文本視圖會坐在最左邊有4dp的餘量。
3)設置爲@android可繪製權:可繪製/ btn_radio
現在你必須在左側文字和右側的按鈕,本地單選按鈕,將與一個RadioGroup中工作。
@CommonsWare
值得一提的是,這是令人難以置信的諷刺帶來了人機界面指南針對這一特定問題。尤其是考慮到調整RadioButton佈局以將按鈕放置在最右側,將與Spinner菜單的佈局保持一致。我完全同意你對此事的看法 - 但NickTFried很有可能試圖彌補Android在這方面的「懸掛」問題。
您可以使用android:button =「@ null」刪除左側單選按鈕(而不是步驟1) – EtienneSky 2012-06-20 06:29:23
當我設置android:按鈕=「@ null」,單選按鈕沒有被檢查(點擊)。我做錯了什麼。請幫助http://stackoverflow.com/questions/28052820/android-custom-radio-button-not-getting-checked – 2015-01-20 18:54:44
這可以使用CheckedTextView
;請參閱android RadioButton option on the right side of the text
鏈接不提供任何額外的信息.... – Jeroen 2013-10-21 23:06:24
如果您使用單個「單選按鈕」,CheckedTextView
可正常工作。
但我需要保留一個組中的單選按鈕中的觸發功能,所以這對我更好地工作:
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="left|center_vertical"
android:layout_marginLeft="-32dp"
android:text="Radio Button 1" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="left|center_vertical"
android:layout_marginLeft="-32dp"
android:text="Radio Button2" />
</RadioGroup>
根據需要調整android:layout_marginLeft
。
對於RTL語言i。ËArabic
使用:
<RadioGroup
android:id="@+id/rgNewsFilter"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/rbAllNews"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="-32dp"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="right|center_vertical"
android:text="ذنيسبمنشخصث"
android:textColor="#ffffff" />
<RadioButton
android:id="@+id/rbMyTeam"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="-32dp"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="right|center_vertical"
android:text="تشسيبتسيتبتسيب"
android:textColor="#ffffff" />
</RadioGroup>
的Android有一個內置的佈局,你可以使用 - android.R.layout.simple_list_item_single_choice
:
<?xml version="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, software
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 governing 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_parent"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" />
如果要修改它,你可以在上面的複製粘貼到一個新的XML文件,然後使用<include>
標籤將其包含在其他佈局中(在Apache 2.0 License下)。您也可以將它用作列表項目,並保持不變。
- 1. Javascript更改單選按鈕的文本
- 2. 單選按鈕更改提交文本
- 3. 單選按鈕更改文本顏色
- 4. 更改按鈕上的文本按鈕單擊無限次
- 5. 基於單選按鈕值更改提交按鈕文本
- 6. 更改單選按鈕上的標籤
- 7. 單選按鈕只呈現單選按鈕而不是文本
- 8. 在Android上更改按鈕文本
- 9. 添加課程並在選中時更改單選按鈕上的文本
- 10. 文本沒有出現,而選中的單選按鈕
- 11. jQuery更改選擇框上的單選按鈕更改
- 12. 更改複選框和單選按鈕的邊框顏色
- 13. 選中時更改單選按鈕的邊框顏色
- 14. 更改單選按鈕的狀態更改複選框的文本
- 15. ASP.NET單選按鈕更改
- 16. 單選按鈕更改
- 17. 更改單選按鈕值
- 18. 更改按鈕上文本的方向
- 19. 文本框出現在單選按鈕檢查
- 20. Woocommerce:更改訂單按鈕上的文本[已更新]
- 21. 的Android文本菜單更改按鈕上的文字
- 22. UICollectionViewCell按鈕單擊並更改單元格上的文本
- 23. jQuery - 在單選按鈕上更新div中的文本
- 24. 檢查並更改單選按鈕組中的單選按鈕
- 25. 使用其他單選按鈕更改單選按鈕的值
- 26. 每次單擊按鈕時更改多個單選按鈕文本:android
- 27. PDF表單按鈕邊框更改(Acrobat)
- 28. 在其他按鈕上更改按鈕文本android
- 29. 在所有按鈕上更改停止按鈕文本
- 30. 邊境的單選按鈕
以及可以使文本和未標記的單選按鈕的複雜佈局 – 2010-04-13 19:01:13