使用另一个线性布局中的特定参数创建新的线性布局

时间:2016-01-27 05:47:43

标签: android android-layout

我尝试创建一个切换按钮,显示更多按钮和一些TextView,如下所示。

enter image description here

单击切换按钮时,它会在另一个下方显示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(这会创建新作业)。

使用此代码,我所能做的就是创建文本视图和按钮(如下所示),但我需要它来创建作业按钮下方的按钮和文本视图。 enter image description here

如果您无法回答此问题,请就如何更好地提出建议提出建议(我已阅读规则)

1 个答案:

答案 0 :(得分:1)

@Jube你需要设置LinearLayout 2 android:visibility="gone"当点击切换按钮时,设置在Java中layout2.setVisibility(View.VISIBLE);可见的LinearLayout 2可见性。