首页 > 解决方案 > 根据按钮大小的变化改变文本大小

问题描述

我有一个切换按钮,可以改变它的大小,如下所示:

protected int[] calculateCardWidth(int[] rowsCols) {
        //Getting the screen size.
        Display display = this.getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;
        //cardWidHigh 0->width , 1 ->height.
        cardWidHigh[0] = (int) (width / (rowsCols[1] + .25));
        cardWidHigh[1] = (int) (height / (rowsCols[0] + 2));
     return cardWidHigh;
}

我希望能够根据按钮大小(宽度和高度)的变化动态地改变文本大小,实现这一目标的最佳方法是什么?

标签: androidandroid-layout

解决方案


您更改其 LayoutParams 的值,父级将使用新值在新位置重新渲染屏幕:

LayoutParams p = cardView.getLayoutParams();
p.width = cardWidth[0];
p.height = cardWidth[1];
cardView.setLayoutParams(p);
cardView.getViewParent().invalidate();

推荐阅读