我没有在堆栈溢出中找到任何有关此问题的解决方案,这就是我在此处发布的原因。我正如下动态创建单选按钮。
RadioButton rb;
//generating radio buttons
for (int i = 0; i < 5; i++) {
rb = new RadioButton(this);
rb.setText(question.getOptions().get(i));
rb.setTextColor(getResources().getColor(R.color.rbTextColor));
rb.setId(i);
rg.addView(rb);
}
它工作得非常好,但现在我想通过代码来改变单选按钮文本的文本大小,根据我的不理解,这应该是这样的。
rb.setTextSize(20);
但它现在正在工作,因为单选按钮没有此属性。那么请帮助我如何更改android中单选按钮文本的大小?
非常感谢任何帮助。
谢谢,
momersaleem
答案 0 :(得分:3)
您使用文字外观如下:
RadioButton rb;
//generating radio buttons
for (int i = 0; i < 5; i++) {
rb = new RadioButton(context);
rb.setText("");
rb.setTextColor(getResources().getColor(R.color.rbTextColor));
rb.setId(i);
rb.setTextAppearance(context, android.R.style.TextAppearance_Large);
}
答案 1 :(得分:1)
在xml文件中,在单选按钮视图中添加以下行
android:textAppearance="?android:attr/textAppearanceLarge"
答案 2 :(得分:0)
使用Kotlin,我使用了以下内容:
RadioButtonExt.kt
:
fun RadioButton.StyleMe() {
this.setTextAppearance(android.R.style.TextAppearance_Holo_Medium)
this.setPaddingRelative(10,0,0,0)
this.setPadding(30,0,0,0)
}
然后将我的元素构建为:
myRadioButons.kt
import android.content.Context
import android.support.v7.widget.CardView
import android.view.Gravity
import android.widget.*
import android.widget.LinearLayout
import oryx.tecna.locateme.extensons.StyleMe
class Gender : CardView {
lateinit var m: RadioButton
lateinit var f: RadioButton
constructor(context: Context) : super(context) {
init(context)
}
private fun init(context: Context) {
val parent = LinearLayout(context)
m = RadioButton(context).apply {
text = "Male"
StyleMe()
}
f = RadioButton(context).apply {
text = "Female"
StyleMe()
}
var keywordAction = RadioGroup(context).apply {
addView(m)
addView(f)
check(m.id)
}
parent.apply {
layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT).apply {
orientation = LinearLayout.VERTICAL
gravity = Gravity.CENTER
addView(keywordAction).apply {
id = generateViewId()
layoutParams = LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT).apply {
}
}
}
}
this.apply {
addView(parent)
}
}
}
在MainActivity.kt
我称之为:
val gender = Gender(this).apply {
id = generateViewId()
}
gender.m.setOnClickListener {
// Do something
}