如何在自定义Button类中控制按钮Text Size?

时间:2016-06-23 08:11:27

标签: android android-layout android-custom-view android-button

我的活动中有一些按钮从自定义类中膨胀,使按钮完全正方形并使它们适合父级取决于屏幕大小并且它工作正常:

public class MyButton extends Button {
public MyButton(Context context) {
    super(context);
}

public MyButton(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public MyButton(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
}

@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    super.onMeasure(widthMeasureSpec, widthMeasureSpec);
    int width = MeasureSpec.getSize(widthMeasureSpec);
    int height = MeasureSpec.getSize(heightMeasureSpec);
    int size = width > height ? height : width;
    setMeasuredDimension(size, size); // make it square

}
}

在这里我的inflater:

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Button newGuessButton = (Button) inflater.inflate(R.layout.my_button, currentTableRow, false); 
currentView.addView(newGuessButton);

和layout.xml:

<my.package.name.MyButton
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/newButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="100"/>

我的问题是,如果我愿意,如何在我的按钮中设置文本大小来更改默认大小。我想在添加它作为视图之前我要设置它但我不知道如何?

2 个答案:

答案 0 :(得分:2)

如果您只想设置文字大小,可以使用属性

android:textSize

或使用方法

Button.setTextSize()

如果您想在按钮内插入文字,可以查看answer

答案 1 :(得分:0)

谢谢大家,但我找到了一种 非官方的 方式:正如我所说,我的自定义类(最后)让我有一些填充父屏幕的按钮,取决于我想要连续创建多少个以及屏幕的宽度大小或高度大小(我们需要更小的一个)我们可以找到最接近该数字的大小来创建如下:(我想要创建)连续5个方形按钮

prop[0]=a
prop[1]=b