我有4个textviews,在4个textviews中,我必须从4个textviews中选择任何人,同时我还要同时更改textview的背景颜色(绿色)突出它。 每个textview都使用自定义可绘制背景。
这是textview xml:
<TextView
android:id="@+id/textview1"
android:layout_width="match_parent"
android:layout_height="@dimen/_55sdp"
style="@style/ChoosePlan"
android:background="@drawable/choose_plan_bg"
android:text="@string/part_time_monthly"
/>
这意味着
setBackground(getResources().getDrawable(R.color.green));
不起作用。
所以我试过这样:
private void changeColor()
{
Drawable tempDrawable = getResources().getDrawable(R.drawable.choose_plan_bg);
LayerDrawable bubble = (LayerDrawable) tempDrawable; //(cast to root element in xml)
GradientDrawable solidColor = (GradientDrawable) bubble.findDrawableByLayerId(R.id.outerRectangle);
solidColor.setColor(getResources().getColor(R.color.green));
textview1.setBackground(tempDrawable);
textview1.setTextColor(getResources().getColor(R.color.white));
}
和onClick事件我调用上面的方法:
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_partTimeMonthly:
changeColor();
checkDoneBtnVisibile();
break;
case R.id.tv_partTimeAnnually:
checkDoneBtnVisibile();
break;
case R.id.tv_fullTimeMonthly:
checkDoneBtnVisibile();
break;
case R.id.tv_fullTimeAnually:
checkDoneBtnVisibile();
break;
case R.id.iv_back_button:
finish();
break;
}
}
P.S:必须使用Textview(No ImageView)
我坚持了下来。能帮助我帮助我前进吗?
先谢谢
分享截图:
答案 0 :(得分:1)
您只是在'\n'
方法中更新 int main()
{
int numbers[50];
int i = 0;
for( ; i < 50; i++) {
int n;
int conversion_count = scanf("%i", &n);
if (conversion_count != 1) {
break; // End-of-file, input error, non-numeric input
}
if (n == -1) {
break;
}
numbers[i] = n;
}
printf("%d numbers read.\n", i);
}
。如果您只想突出显示“仅”一个随时按下的textView,那么您可以尝试以下内容。
首先,我创建了一个方法,将textView作为其参数,将其背景更改回textview1
。指定背景在drawable中的位置。
changeColour()
同样,changeColour方法:
choose_plan_bg
接下来,创建一个不同的private void changeColorBack(TextView textView)
{
textView.setBackground(getResources().getDrawable(R.drawable.choose_plan_bg))
}
并将textViews设置为此侦听器:
private void changeColor(TextView textView)
{
Drawable tempDrawable = getResources().getDrawable(R.drawable.choose_plan_bg);
LayerDrawable bubble = (LayerDrawable) tempDrawable; //(cast to root element in xml)
GradientDrawable solidColor = (GradientDrawable) bubble.findDrawableByLayerId(R.id.outerRectangle);
solidColor.setColor(getResources().getColor(R.color.green));
textView.setBackground(tempDrawable);
textView.setTextColor(getResources().getColor(R.color.white));
}
这仅选择按下的textView,并取消选择其他任何textView。