2017-03-02 137 views
0

我有许多不同颜色名称的按钮。选择一个按钮android

yellow - red - blue 

我想,当一个用户点击它创建它周围的边框(选择按钮),在我的活动结束后我还有一个按钮,保存所选颜色的用户。

<Button 
     android:text="Yellow" 
     android:layout_width="111dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/button1" /> 

<Button 
     android:text="Red" 
     android:layout_width="111dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/button2" /> 


<Button 
     android:text="SAVE" 
     android:layout_width="111dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/buttonsave" /> 

的Java

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.color); 

    Button btnYellow; 
    btnYellow = (Button) findViewById(R.id.button1); 
    Button btnRed; 
    btnRed = (Button) findViewById(R.id.button2); 


    Intent intent = getIntent(); 
    String url2 = intent.getStringExtra("image"); 




    btnYellow.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

     } 
    }); 


} 

我怎么能选择一个按钮,当用户点击它,并得到一个值(红,绿,RED1),当用户点击保存?

+0

您可以点击事件更改按钮的背景颜色 –

+2

您需要的单选按钮或复选框,而不是常规按钮 –

+0

首先我想选择一个按钮,当用户点击,如:红色。他们,当他点击“保存”时,我会显示一条消息,例如“红色”。 @Chetan –

回答

1

广场每个按钮在FrameLayout。这会给按钮一个边框。更改FrameLayout上的背景颜色将更改按钮的边框。

<FrameLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <Button 
     android:id="@+id/btnYellow" 
     android:layout_width="111dp" 
     android:layout_height="wrap_content" 
     android:text="Yellow" /> 
</FrameLayout> 

设置,看起来像下面的按钮的onClickListener,但不要使用硬编码的颜色 - 这只是一个例子。 mLastClicked是一个成员变量,定义为Button mLastClicked

@Override 
public void onClick(View view) { 

    if (mLastClicked !=null) { 
     ((FrameLayout) mLastClicked.getParent()).setBackgroundColor(0xFFFFFFFF); 
    } 
    mLastClicked = (Button) view; 
    switch (view.getId()) { 

     case R.id.btnYellow: 
      ((FrameLayout) view.getParent()).setBackgroundColor(0xFFFFFF00); 
      break; 

     case R.id.btnRed: 
      // Similar to yellow 
      break; 

     case R.id.btnSave: 
      // Do something with mLastClicked to save it 
      break; 
    } 
} 
1

您可以定义按钮的形状给它一个边框,使用元素(命名该文件your.xml,并将其放置在res /绘项目):

,并请参阅本link