2011-11-03 235 views

回答

11

如果您有ID爲您的main.xml按鈕= Button1的,那麼你可以按如下方式使用它:

setContentView(R.layout.main); 

Button mButton=(Button)findViewById(R.id.button1); 
mButton.setTextColor(Color.parseColor("#FF0000")); // custom color 
//mButton.setTextColor(Color.RED); // use default color 
mButton.setBackgroundResource(R.drawable.button_shape); 

R.drawable.button_shape(button_shape.xml):

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
     android:startColor="#70ffffff" 
     android:centerColor="#70ffffff" 
     android:endColor="#70ffffff" 
     android:angle="270" /> 
    <corners 
     android:bottomRightRadius="8dp" 
     android:bottomLeftRadius="8dp" 
     android:topLeftRadius="8dp" 
     android:topRightRadius="8dp"/> 
</shape> 

你可以有你自己的形狀file.change它根據你的需要。

1

基本上你必須遵循的方案:

1)獲得參考你想改變

findViewById(R.id.<your_object_id>); 

2)將它轉換爲對象類型

Button btnYourButton = (Button) findViewById(R.id.<your_object_id>); 

3對象)使用setter對象「btnYourButton」

4)重繪您的視圖(可能調用invali日期());

這取決於您何時想要發生更改。我假設你將有一個eventListener 附加到你的對象,並在事件被解僱後,你將執行你的改變。

4

你可以改變按鈕的文字顏色動態像

按鈕btnChangeTextColor =(按鈕)findViewbyId(btnChange); btnChangeTextColor.setTextColor(Color.BLUE);

0

@覆蓋 公共布爾的onTouchEvent(MotionEvent事件){

if (event.getAction() == MotionEvent.ACTION_DOWN) { 

     start_x = event.getX(); 
     start_y = event.getY(); 

    } else if (event.getAction() == MotionEvent.ACTION_MOVE) { 

     setTitle(event.getX() + "y pos" + event.getY()); 
     RelativeLayout layout = (RelativeLayout) findViewById(R.id.lay); 

     layout.setBackgroundColor(Color.rgb((int) start_x, (int) start_y, 0)); 
    } else if (event.getAction() == MotionEvent.ACTION_UP) { 



    } 
    return true; 
} 
相關問題