android - 根据按钮大小的变化改变文本大小
问题描述
我有一个切换按钮,可以改变它的大小,如下所示:
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;
}
我希望能够根据按钮大小(宽度和高度)的变化动态地改变文本大小,实现这一目标的最佳方法是什么?
解决方案
您更改其 LayoutParams 的值,父级将使用新值在新位置重新渲染屏幕:
LayoutParams p = cardView.getLayoutParams();
p.width = cardWidth[0];
p.height = cardWidth[1];
cardView.setLayoutParams(p);
cardView.getViewParent().invalidate();
推荐阅读
- mongodb - 猫鼬 - 如何等待保存
- azure - Azure 函数 - 无法加载文件或程序集
- laravel - 我是 laravel 的新手,试图从一个控制器通过 api 将数据存储到多个表中
- c++ - 为什么允许 int 和 const int 的不同转换函数?
- python - 当数据框的列包含多个值时选择数据框的行
- c++ - Overriding virtual method inside another class to access its member in c++
- python - 通过python将Mysql数据发送到电报机器人
- f# - F# - 类型参数不能用作类型构造函数
- spring - 将 json 传递给 thymleaf
- python - 将数据框写入空白的谷歌电子表格