Android 在版面中为不同的文本视图设置不同的颜色不起作用
我目前正在设置3个文本视图,它们进入线性布局(代码如下)。但是,使用setColor方法指定的最后一种颜色似乎只适用于第一个textview,实际上覆盖了我最初为其设置的颜色Android 在版面中为不同的文本视图设置不同的颜色不起作用,android,textview,Android,Textview,我目前正在设置3个文本视图,它们进入线性布局(代码如下)。但是,使用setColor方法指定的最后一种颜色似乎只适用于第一个textview,实际上覆盖了我最初为其设置的颜色 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); TextView view1 = new TextView(
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
TextView view1 = new TextView(this);
view1.setText("I am view one");
view1.setTextColor(ColorStateList.valueOf(Color.RED));
view1.setTextSize(25);
view1.setGravity(Gravity.CENTER);
TextView view2 = new TextView(this);
view2.setText("I am view two");
view1.setTextColor(ColorStateList.valueOf(Color.BLUE));
view2.setTextSize(30);
view2.setGravity(Gravity.CENTER);
TextView view3 = new TextView(this);
view3.setText("I am view three");
view1.setTextColor(ColorStateList.valueOf(Color.YELLOW));
view3.setTextSize(50);
view3.setGravity(Gravity.CENTER);
LinearLayout myLinearLayout = new LinearLayout(this);
myLinearLayout.setOrientation(LinearLayout.VERTICAL);
myLinearLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
myLinearLayout.setGravity(Gravity.CENTER);
myLinearLayout.addView(view1);
myLinearLayout.addView(view2);
myLinearLayout.addView(view3);
setContentView(myLinearLayout);
在本例中,view1为黄色,其他视图为灰色…红色和蓝色未应用于正确的视图。值得注意的是,我最初只是尝试使用setColor,正如您所见,我尝试按照文档使用ColorStateList,但同样的结果也适用。无论如何,我该如何在不同的文本视图上强制使用我想要的颜色?我知道这应该很容易,也许我只是错过了一些东西。提前谢谢大家 注意你正在设置颜色的对象-似乎还有一大堆复制粘贴剩余。每个颜色分配都在
view1
上完成,而您真正想要的是在第二个分配中将颜色设置为view2
,在第三个分配中将颜色设置为view3
:
TextView view1 = new TextView(this);
view1.setText("I am view one");
view1.setTextColor(ColorStateList.valueOf(Color.RED));
view1.setTextSize(25);
view1.setGravity(Gravity.CENTER);
TextView view2 = new TextView(this);
view2.setText("I am view two");
view2.setTextColor(ColorStateList.valueOf(Color.BLUE)); // <-- view2
view2.setTextSize(30);
view2.setGravity(Gravity.CENTER);
TextView view3 = new TextView(this);
view3.setText("I am view three");
view3.setTextColor(ColorStateList.valueOf(Color.YELLOW)); // <-- view3
view3.setTextSize(50);
view3.setGravity(Gravity.CENTER);
TextView视图1=新的TextView(此);
视图1.setText(“我是视图一”);
view1.setTextColor(ColorStateList.valueOf(Color.RED));
视图1.setTextSize(25);
视图1.设置重力(重心);
TextView视图2=新的TextView(此);
视图2.setText(“我是视图二”);
view2.setTextColor(ColorStateList.valueOf(Color.BLUE));// 请注意您正在设置颜色的对象-似乎有一大堆复制粘贴剩余。每个颜色分配都在view1
上完成,而您真正想要的是在第二个分配中将颜色设置为view2
,在第三个分配中将颜色设置为view3
:
TextView view1 = new TextView(this);
view1.setText("I am view one");
view1.setTextColor(ColorStateList.valueOf(Color.RED));
view1.setTextSize(25);
view1.setGravity(Gravity.CENTER);
TextView view2 = new TextView(this);
view2.setText("I am view two");
view2.setTextColor(ColorStateList.valueOf(Color.BLUE)); // <-- view2
view2.setTextSize(30);
view2.setGravity(Gravity.CENTER);
TextView view3 = new TextView(this);
view3.setText("I am view three");
view3.setTextColor(ColorStateList.valueOf(Color.YELLOW)); // <-- view3
view3.setTextSize(50);
view3.setGravity(Gravity.CENTER);
TextView视图1=新的TextView(此);
视图1.setText(“我是视图一”);
view1.setTextColor(ColorStateList.valueOf(Color.RED));
视图1.setTextSize(25);
视图1.设置重力(重心);
TextView视图2=新的TextView(此);
视图2.setText(“我是视图二”);
view2.setTextColor(ColorStateList.valueOf(Color.BLUE));//哦,我的话。谈论史诗般的失败。我想当你已经编写了8个小时的代码时就会发生这种情况。谢谢你的注意。我早晚会得到它的。一切都解决了。希望下次我能问一个不那么明显的问题:)相信我,我们都经历过。一双新鲜的眼睛总是有帮助的。快乐编码:)哦,我的话。谈论史诗般的失败。我想当你已经编写了8个小时的代码时就会发生这种情况。谢谢你的注意。我早晚会得到它的。一切都解决了。希望下次我能问一个不那么明显的问题:)相信我,我们都经历过。一双新鲜的眼睛总是有帮助的。快乐编码:)