我有4個文本視圖,在4個文本視圖中,我必須從4個文本視圖中選擇任何人,還必須更改背景顏色(綠色)的同時突出顯示它。每個文本視圖使用自定義可繪製背景。選擇一個文本視圖,並在同一時間更改其顏色4個文字視圖
這是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;
}
}
PS:必須使用的TextView(無ImageView的)
我被困到它。你能幫我把我推進嗎?
由於提前
共享截圖:
那麼你現在面臨的問題究竟是什麼?這段代碼的結果是什麼? – skbrhmn
@skbrhmn我的代碼不會工作我需要什麼。我的觀點是在4個文字瀏覽中一次選擇任何一個textview –
我的意思是應用程序崩潰,或者它只是沒有做你想做的事情?你的意思是說,當你觸摸一個textView時,你只想'textView改變顏色,其他人要回到'choose_plan_bg'背景? – skbrhmn