تغییر رنگ تکست در لحظه pressed button
سلام دوستان
میخوام عین وقتی که روی یک button کلیک میکنیم و منبع گرافیکی حالت pressed در فایل xml اجرا میشه,وقتی کلیک میکنم رنگ تکست button تغییر کنه و وقتی ول کنم رنگ حالت اولیش نمایش داده بشه.
سلام
فکر نکنم با استفاده از فایل xml بشه که رنگ Text رو تغییر بدی ولی با کد نویسی در فایل جاوا میشه :
public class TestAllActivity extends Activity implements OnTouchListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1 = (Button) findViewById(R.id.button1);
button1.setTextColor(Color.parseColor("#ff0000"));
button1.setOnTouchListener(this);
}
@Override
public boolean onTouch(View view, MotionEvent event) {
Button btn = (Button) view;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
btn.setTextColor(Color.parseColor("#00ff00"));
break;
case MotionEvent.ACTION_UP:
btn.setTextColor(Color.parseColor("#ff0000"));
break;
}
return false;
}
}
برای هر دکمه ای که میخوای رنگش تغییر کنه کد پایین رو اضافه میکنی که خط اول برای اینه که دفعه اول که Activity لود میشه رنگ متن قرمز باشه :
button1.setTextColor(Color.parseColor("#ff0000"));
button1.setOnTouchListener(this);
حالا با هر بار ACTION_DOWN رنگ متن سبز میشه ، و با هر بار ACTION_UP رنگ متن قرمز میشه . البته به صورت پیش فرض رنگ زمینه دکمه هم عوض میشه که میتونی رنگ اون رو هم متناسب با رنگ متن تغییر بدی با استفاده از فایل xml از نوع selector . که اینو دیگه بلدی . مثلا با selector میتونی فقط رنگ کادرش رو عوض کنی :
این هنگام ACTION_DOWN هست :
و این هنگام ACTION_UP هست :
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .