比方说,在我的API调用中,我有一个被调用的参数color.是否可以编辑或修改现有的R.colors.color以从API结果中分配颜色?
举个例子:
我打电话给我的API并返回green,现在我想用ie(绿色Toolbar,绿色TextView等)加载我的应用程序,这可能吗?
我的第一个想法是:
在colors.xml被调用上创建一个项目,demo然后为它指定一个默认颜色,然后demo在我想要的任何地方使用这个颜色(Button,TextView等等)然后我认为可以用API的结果以编程方式更改这个值,所以我不需要创建一个SharedPreferences或类似的东西,以避免更多的代码.
正如@YS对我说的那样
不幸的是,你必须手动设置文本或视图的颜色...... :(
我想如果有其他方法可以做到这一点,因为我不知道Activities我的项目将包含多少,所以如果有其他方法可以做到这一点我很高兴听到其他猜测.
我正在尝试@Jared Rummler的答案,也许我做错了什么......我创造了一个简单的Json,我把我的资产我解析了Json,我把它放在一个GlobalConstant然后我做了一个"简单的应用程序".
首先,我有一个TextView和a Button包含"your_special_color",并返回它我把GlobalConstant int如下:
case "your_special_color":
return GlobalConstant.color;
Run Code Online (Sandbox Code Playgroud)
然后我尝试的是我的第一个Activity有1 TextView和1,Button正如我之前所说,他们有颜色"your_special_color",我不想改变它,但我有一个Intent在我Button打开另一个Activity包含相同,但与GlobalConstant.color而且它没有改变.
我试过这样做(我的第二个活动):
public class Main2Activity extends AppCompatActivity {
private Res …Run Code Online (Sandbox Code Playgroud) 我在strings.xml文件中声明了一个字符串,并在我的活动中将其用作R.string.compose_title.(将其设置为标题,即setTitle(R.id.compose_title)).现在在某些情况下我想编辑字符串然后用它来设置标题.我怎样才能做到这一点 ?
PS我只需要更改单个字符串的值,因此使用本地化为每种情况(根据用户而变化)声明一个新的strings.xml似乎效率低.