我尝试创建一个切换按钮,显示更多按钮和一些TextView,如下所示。
单击切换按钮时,它会在另一个下方显示3个文本视图,并且彼此相邻显示3个按钮。一旦关闭,线性布局2(特定于该作业编号)将被隐藏,其他按钮将相应地向上移动。
这是我拥有的
public void createNewJob(String JobNo) {
LinearLayout layout;
layout = (LinearLayout) findViewById(R.id.ReportsLayout);
ToggleButton NewJob = new ToggleButton(this);
NewJob.setText(JobNo);
NewJob.setTextSize(setDP(40f));
layout.addView(NewJob);
//
//int JobNoInt = new Integer(Integer.parseInt(JobNo));
//NewJob.setId(JobNoInt);
NewJob.setOnClickListener(openToggle(NewJob, this));
}
public View.OnClickListener openToggle(final ToggleButton button, final Context context){
return new View.OnClickListener() {
public void onClick(View v) {
// LinearLayout layout = new LinearLayout(Reports.this);
LinearLayout layout = (LinearLayout) findViewById(R.id.ReportsLayout);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1f);
//layout.setLayoutParams(lp);
//layout.setLayoutParams(lp);
//layout.setOrientation(LinearLayout.HORIZONTAL);
TextView viewMachine = new TextView(Reports.this);
TextView viewItem = new TextView(Reports.this);
TextView viewDate = new TextView(Reports.this);
Button enterJob = new Button(Reports.this);
Button editJob = new Button(Reports.this);
Button exportJob = new Button(Reports.this);
//enterJob.setLayoutParams(lp);
//editJob.setLayoutParams(lp);
//exportJob.setLayoutParams(lp);
if( button.isChecked()==(true)) {
layout.addView(viewMachine,lp);
layout.addView(viewItem,lp);
layout.addView(viewDate,lp);
layout.addView(enterJob,lp);
layout.addView(editJob, lp);
layout.addView(exportJob, lp);
}
else{
layout.setVisibility(LinearLayout.GONE);
}
}
};
}
每当打开报告xml时都会运行createNewJob(这会创建新作业)。
使用此代码,我所能做的就是创建文本视图和按钮(如下所示),但我需要它来创建作业按钮下方的按钮和文本视图。
如果您无法回答此问题,请就如何更好地提出建议提出建议(我已阅读规则)
答案 0 :(得分:1)
@Jube你需要设置LinearLayout 2 android:visibility="gone"
当点击切换按钮时,设置在Java中layout2.setVisibility(View.VISIBLE);
可见的LinearLayout 2可见性。