2015-12-03 8 views
5

Ich möchte eine Schaltfläche in Android mit unterschiedlicher Farbe für Schaltflächenrand haben.Wie programmiere eine Schaltflächenrahmenfarbe programmgesteuert in Android?

 Button Bt = new Button(this); 
     Bt.setId(i+1); 
     Bt.setBackgroundColor(getResources().getColor(R.color.white)) ; 
     Bt.setText(restList.get(i)); 
     Bt.setLayoutParams(params3); 
     Bt.setTextColor(Color.parseColor("gray")); 
     layout.addView(Bt); 

Wie kann ich das programmatisch machen?

Antwort

7
yourButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       ShapeDrawable shapedrawable = new ShapeDrawable(); 
       shapedrawable.setShape(new RectShape()); 
       shapedrawable.getPaint().setColor(Color.RED); 
       shapedrawable.getPaint().setStrokeWidth(10f); 
       shapedrawable.getPaint().setStyle(Style.STROKE);  
       yourButton.setBackground(shapedrawable); 
      } 
     }); 

versuchen dies, aber ich bin nicht sicher, 100%