gpt4 book ai didi

java - 初始化设置的内容 View 后可以更改Android Button的样式吗?

转载 作者:行者123 更新时间:2023-12-02 10:41:51 26 4
gpt4 key购买 nike

我想根据字符串值在 android 按钮 View 中显示不同样式的按钮,我可以通过编程方式执行此操作吗?

即使我设置了 setTextAppearance 它没有反射(reflect)在 View 中,我是否可以以编程方式使用设置样式条件?

  private Button dynakey[]= new Button[9];//8 buttons       
//Parse the values of buttons
try {
String sButtonString="";
JSONArray jArrayButton =
ResponseUIObject.getJSONArray("BUTTON");
for(int k=0;k<8;k++) {
int ID=k+1;
String dynakeyID = "dynakey"+(ID);
int resID = getResources().getIdentifier(dynakeyID, "id", getPackageName());
dynakey[ID] =(Button) findViewById(resID);
sButtonString= jArrayButton.getString(k-0);
//Set Enable or Disable logic here
if ((ID% 2) == 0) {
// number is even its a right side button //Change style of button depending upon the value
if(sButtonString.trim().length() == 0) {
//If string is not null or not empty then Enable the button else not
dynakey[ID].setTextAppearance(this, R.style.RightDisableDynakeyButton);
}else{
dynakey[ID].setTextAppearance(this, R.style.RightEnableDynakeyButton);
}
}
else {
// number is odd its a left side button //Change style of button depending upon the value
if(sButtonString.trim().length() ==0) {
//If string is not null or empty then Enable the button else not
dynakey[ID].setTextAppearance(this, R.style.LeftDisableDynakeyButton);
}else{
dynakey[ID].setTextAppearance(this, R.style.LeftEnableDynakeyButton);
}
}
}
}

最佳答案

您使用的这种形式的setTextAppearance()已被弃用。将您的代码更改为:

if (Build.VERSION.SDK_INT < 23) {
dynakey[ID].setTextAppearance(this, R.style.LeftDisableDynakeyButton);
} else {
dynakey[ID].setTextAppearance(R.style.LeftDisableDynakeyButton);
}

自 API 23 setTextAppearance(styleId) 引入以来。
尝试一下。
编辑您的代码:
(1)这一行:
private Button dynakey[]= new Button[9];
创建一个包含 9 个按钮的数组,而不是注释所述的 8 个按钮。
(2) 您将更改应用到 try block 内(我看不到 catch block ),因此不会传播任何错误。难道是按钮的id不正确?
(3)发布你的样式和xml

关于java - 初始化设置的内容 View 后可以更改Android Button的样式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52873242/

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