先上效果图:
根据获取的标签个数
channels.size()来设置按钮的个数,同时设置其参数
由于
channels.size()是不确定的,我们用for循环来遍历实现:
for (int i = 1; i < channels.size(); i++) {
id = channels.get(i).getId();
Button button = new Button(getApplicationContext());
button.setId(i);
button.setText(channels.get(i).getName().toString());
setBtnParams(button);
channelbar.addView(button);
button.setOnClickListener(channelBtnListener);
}
//可在该方法里进行属性参数的相关设置
private void setBtnParams(Button button) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
params.weight=1.0f;//重量级
params.gravity=Gravity.CENTER;//重心
button.setLayoutParams(params);
button.setTextSize(14);
button.setTag("top_button");
button.setBackgroundResource(R.drawable.menu_bg);
button.setTextColor(this.getResources().getColor(R.color.white));
}
至于
channelBtnListener根据自己的业务逻辑去实现