如何从Android中的TableLayout中完全隐藏一行?

Tad*_*nia 2 java android android-layout android-view android-tablelayout

使用INVISIBLE选项隐藏小时为18,19,20,21的行.但它仍然留下了空洞的空白.有没有办法消除这个差距?

private void hideEveningHours() {  // hiding evening rows
    TableRow tr = (TableRow)findViewById(R.id.row18);
    tr.setVisibility(View.INVISIBLE);
    tr = (TableRow)findViewById(R.id.row19);
    tr.setVisibility(View.INVISIBLE);
    tr = (TableRow)findViewById(R.id.row20);
    tr.setVisibility(View.INVISIBLE);
    tr = (TableRow)findViewById(R.id.row21);
    tr.setVisibility(View.INVISIBLE);
}
Run Code Online (Sandbox Code Playgroud)

时间

Y.S*_*Y.S 10

使用

View.GONE
Run Code Online (Sandbox Code Playgroud)

代替

View.INVISIBLE
Run Code Online (Sandbox Code Playgroud)

View.INVISIBLE只会使View隐形.它仍然添加到View层次结构中,并为其分配空间.而View.GONE 消除ViewViewGroup,就好像它从来没有出现在第一的位置.更重要的是,只需将其可见性设置为,即可将其恢复

View.VISIBLE
Run Code Online (Sandbox Code Playgroud)