在我的文件 Activity (java)中,我有 if else 语句,它保存(条件)的值以及需要传递给接口(interface)的值。将值传递到界面后,界面的颜色应基于该值(条件)。
条件为“正常”、“高血压”、“血压1级”和“血压2级”。
例如,如果情况“正常”,则界面的颜色应为绿色。
这是 if else 代码:
if (iBPM >= 60 && iBPM < 79) {
condition = "Normal resting heart rate";
}
else if (iBPM >= 80 && iBPM <= 89) {
condition = "Prehypertension";
}
else if (iBPM >= 90 && iBPM <= 99) {
condition = "High Blood Pressure \n (Hypertension) stage 1";
}
else if (iBPM >= 100 && iBPM <= 110) {
condition = "High Blood Pressure \n (Hypertension) stage 2";
}
txtCON.setText("" + condition);
下面是布局条件的代码。 ID 是tvCondition。 id 用于从文件 Activity (java) 中获取条件值。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="--"
android:id="@+id/tvCondition"
android:layout_below="@+id/txtLabe2"
android:layout_alignParentLeft="true" />
基本上界面的颜色是蓝色,因为我将其设置为界面的默认颜色。我将索引颜色放在顶部#737CA1。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/layout"
android:weightSum="1"
android:background="#737CA1">
回到问题,如何根据 Activity 文件中的 if else 语句的值更改界面的颜色。
谢谢你, 费扎尔
最佳答案
我得到了答案。但这个答案是根据java文件中的IF ELSE语句更改文本颜色,而不是更改背景颜色
步骤1:
private static TextView txtCOL = null;
private static TextView txtCON = null;
步骤2:
txtCON = (TextView) findViewById(R.id.tvCondition);
txtCOL = (TextView) findViewById(R.id.tvCondition);
第三步:
String condition = null;
int conditionColor;
第四步:
if (iBPM >= 50 && iBPM < 60) {
condition = "Low / weak heart rate";
conditionColor = Color.parseColor("#2196f3"); //blue
}
else if (iBPM >= 60 && iBPM < 79) {
condition = "Normal resting heart rate";
conditionColor = Color.parseColor("#689f38"); //green
}
else if (iBPM >= 80 && iBPM <= 89) {
condition = "PreHypertension";
conditionColor = Color.parseColor("#ffeb3b"); //yellow
}
else if (iBPM >= 90 && iBPM <= 99) {
condition = "High Blood Pressure \n (Hypertension) stage 1";
conditionColor = Color.parseColor("#ff9800"); //orange
}
else if (iBPM >= 100 && iBPM <= 110) {
condition = "High Blood Pressure \n (Hypertension) stage 2";
conditionColor = Color.parseColor("#ff5722"); //deep orange
}
第五步:
//call textView.setTextColor(conditionColor) just before calling textVIew.setText(condition)
txtCOL.setTextColor(conditionColor);
txtCON.setText("" + condition);
完成。
关于java - Android - 如何根据 if else 语句的返回值设置界面颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31232488/