Android 更改该按钮(选中)上的选项卡时的颜色,并获取其他按钮的正常布局
我正在一个水平线性布局中创建动态按钮。现在需要改变背景颜色时,我选择了,在那个时候其他按钮将改变为正常的默认布局。 我已经创建了如下内容:- 我的代码如下:-Android 更改该按钮(选中)上的选项卡时的颜色,并获取其他按钮的正常布局,android,select,button,Android,Select,Button,我正在一个水平线性布局中创建动态按钮。现在需要改变背景颜色时,我选择了,在那个时候其他按钮将改变为正常的默认布局。 我已经创建了如下内容:- 我的代码如下:- for(int i=0;i<=5;i++) { LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutPa
for(int i=0;i<=5;i++)
{
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT,1.0f);
final TextView btn = new TextView(activity);
btn.setId(i);
final int id_ = btn.getId();
btn.setText("button " + id_);
//btn.setBackgroundColor(Color.rgb(70, 80, 90));
new_addonprice_name.addView(btn, params);
btn.setOnClickListener(new OnClickListener() {
@SuppressLint("ResourceAsColor") @Override
public void onClick(View v) {
// TODO Auto-generated method stub
/* new_addonprice_name.removeAllViews();
String aaa = updatebutton();*/
btn.setSelected(true);
Toast.makeText(activity, btn.getText().toString(), Toast.LENGTH_SHORT).show();
btn.setBackgroundColor(R.color.black);
}
});
}
for(inti=0;i如果我正确理解了您,您需要
res/drawable/new_button.xml
将先前单击的视图的id放入静态上下文中。同时在res/values/color.xml上添加白色
static int _id=-1;
这是密码
LinearLayout lin = new LinearLayout(context);
lin.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
lin.setOrientation(LinearLayout.HORIZONTAL);
for (int i = 0; i <= 5; i++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
final TextView btn = new TextView(context);
btn.setId(i);
final int id_ = btn.getId();
Log.i("id",""+id_);
btn.setText("button " + id_);
// btn.setBackgroundColor(Color.rgb(70, 80, 90));
lin.addView(btn, params);
btn.setOnClickListener(new View.OnClickListener() {
@SuppressLint("ResourceAsColor")
public void onClick(View v) {
// TODO Auto-generated method stub
/*
* new_addonprice_name.removeAllViews(); String aaa =
* updatebutton();
*/
if(_id != -1)
{
TextView tv = (TextView) findViewById(_id);
tv.setBackgroundResource(R.color.white);
}
_id = id_;
btn.setSelected(true);
Toast.makeText(context, btn.getText().toString(),
Toast.LENGTH_SHORT).show();
btn.setBackgroundColor(R.color.black);
}
});
LinearLayout lin=新的LinearLayout(上下文);
lin.setLayoutParams(新的ViewGroup.LayoutParams(
ViewGroup.LayoutParams.FILL\u父级,
ViewGroup.LayoutParams.WRAP_CONTENT);
林。设置方向(线性布局。水平);
for(int i=0;ifor(int i=0;iIt's not working…我正在创建动态按钮。如果我设置BackgroundColor,那么它将设置为all按钮。你编写了TabHost?你想重置其他按钮的样式吗?我有一个弹出窗口。在那里我放置了布局,在布局中我正在创建动态按钮。让我们。hi@tej shah尝试我的答案…嘿,谢谢你的回答。但是我在T中遇到了错误extView tv=(TextView)findViewById(_id);TextView tv=(TextView)findViewById(_id);这是不可接受的。此方法需要R.id。文件或控件的名称无法理解。你是否全局创建了静态id。是的。但现在我解决了我的问题,不是100%来自你,而是80%你帮了我很多,兄弟。
static int _id=-1;
LinearLayout lin = new LinearLayout(context);
lin.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
lin.setOrientation(LinearLayout.HORIZONTAL);
for (int i = 0; i <= 5; i++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
final TextView btn = new TextView(context);
btn.setId(i);
final int id_ = btn.getId();
Log.i("id",""+id_);
btn.setText("button " + id_);
// btn.setBackgroundColor(Color.rgb(70, 80, 90));
lin.addView(btn, params);
btn.setOnClickListener(new View.OnClickListener() {
@SuppressLint("ResourceAsColor")
public void onClick(View v) {
// TODO Auto-generated method stub
/*
* new_addonprice_name.removeAllViews(); String aaa =
* updatebutton();
*/
if(_id != -1)
{
TextView tv = (TextView) findViewById(_id);
tv.setBackgroundResource(R.color.white);
}
_id = id_;
btn.setSelected(true);
Toast.makeText(context, btn.getText().toString(),
Toast.LENGTH_SHORT).show();
btn.setBackgroundColor(R.color.black);
}
});
for(int i=0;i<=5;i++)
{
//final String check = "1";
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT,1.0f);
final TextView btn = new TextView(activity);
btn.setId(i);
final int id_ = btn.getId();
btn.setText("button " + id_);
// btn.setBackgroundResource(R.drawable.tab_selector);
//btn.setBackgroundColor(Color.rgb(70, 80, 90));
new_addonprice_name.addView(btn, params);
btn.setOnClickListener(new OnClickListener() {
@SuppressLint("ResourceAsColor") @Override
public void onClick(View v) {
// TODO Auto-generated method stub
/* new_addonprice_name.removeAllViews();
String aaa = updatebutton();*/
// btn.setSelected(true);\
//if(_id != -1)
for(int i=0;i<=5;i++)
{
TextView tv = (TextView)dialog.findViewById(i);
tv.setBackgroundColor(R.color.white);
}
// _id = id_;
Toast.makeText(activity, btn.getText().toString(), Toast.LENGTH_SHORT).show();
btn.setBackgroundColor(R.color.black);
}
});
}