2014-09-02 74 views
0

我有以下代码在case1它使一个字段不可见和其余字段填充屏幕但是我想恢复到原来的xml布局一旦case2是在影响。恢复以编程方式更改布局为原始xml文件的设置

这是我的代码;

public boolean onOptionsItemSelected(MenuItem item) { 
switch (item.getItemId()) { 

    case R.id.item1: 
      singleView=true; 
      doubleView=false; 
      if(singleView && !doubleView){ 
      webView2.setVisibility(View.INVISIBLE); 
      urlEditText2.setVisibility(View.INVISIBLE); 
      openUrl2.setVisibility(View.INVISIBLE); 
      webView.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT)); 
      } 
      else{ 

      } 

      //webView.setLayoutParams(new RelativeLayout.LayoutParams(10, 100)); 
      return true; 
    case R.id.item2: 
      singleView = false; 
      doubleView = true; 
      webView2.setVisibility(View.VISIBLE); 
      urlEditText2.setVisibility(View.VISIBLE); 
      openUrl2.setVisibility(View.VISIBLE); 
      webView = (WebView) findViewById(R.id.webView); 
      urlEditText = (EditText) findViewById(R.id.urlField); 
      openUrl = findViewById(R.id.goButton); 


      Toast.makeText(this, "Option2", Toast.LENGTH_SHORT).show(); 
      return true; 

回答

1

在案例1中,您可以使用View.GONE代替View.INVISIBLE。从android developer site

View.GONE这种观点是不可见的,并且它不采取任何空间布局的目的。

View.INVISIBLE这个视图是不可见的,但它仍然占用空间用于 布局的目的。

使用View.GONEWebViewEditText不占用任何空间,同时不可见,从而使得非existence.And的感觉的情况下,2你可以把它可见的你正在做的currently.I唐认为有一些其他方法可以恢复xml布局,即使您已通过编程方式更改了某些视图。

相关问题