gpt4 book ai didi

android - 以编程方式修改所有按钮的文本大小?

转载 作者:行者123 更新时间:2023-11-30 02:58:49 31 4
gpt4 key购买 nike

我需要以编程方式更改 View 中所有按钮的文本颜色。

现在我正在像这样一个一个地修改它们:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = inflater.inflate(R.layout.fragment_screen_dialer, container, false);

Button b = (Button) view.findViewById(R.id.button0);
b.setTextColor(value);

b = (Button) view.findViewById(R.id.button1);
b.setTextColor(value);

但是既然有很多按钮我想一次修改它们?如何做到这一点?

最佳答案

遍历布局的所有 subview ,检查下一个 View 是否是 Button 或其子类的实例:

ViewGroup viewgroup = (ViewGroup) findViewById(R.id.your_layout);
int count = viewgroup.getChildCount();
for (int i=0; i < count; i++){
View view = viewgroup.getChildAt(i);
if (view instanceof Button){
(Button)view.setTextColor(value);
}
}

如果您的按钮位于同一层,这将起作用。否则,您需要构建一个与此类似的循环函数:

public void setNewColor(View view, int value){
if (view instanceof Button){
((Button) view).setTextColor(value);
}
else if (view instanceof ViewGroup){
ViewGroup viewgroup = (ViewGroup)view;
int count = viewgroup.getChildCount();
for (int i=0; i < count; i++){
View viewNext = viewgroup.getChildAt(i);
setNewColor(viewNext, value);
}
}
}

并将其应用于您的布局:

setNewColor(findViewById(R.id.your_layout), your_color);

关于android - 以编程方式修改所有按钮的文本大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22881293/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com