2017-07-15 37 views
0

我有一个崩溃的工具栏。当它折叠时,我设置了一个应用栏标题,但一旦展开,我无法删除应用栏标题。展开条件(verticalOffset == 0)正在执行,但标题看起来没有变化。为什么应用栏标题更改无效?

public class MovieDetailsActivity extends AppCompatActivity implements AppBarLayout.OnOffsetChangedListener{ 

    private CollapsingToolbarLayout collapsingToolbarLayout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_movie_details); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     ... 

     collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.toolbar_layout); 

     AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.app_bar); 
     appBarLayout.addOnOffsetChangedListener(this); 

     ... 
     setTitle(""); 
     ... 

    } 

    @Override 
    public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { 
     if (Math.abs(verticalOffset) == appBarLayout.getTotalScrollRange()) { 
      //Closed 
      setTitle("Tmovies"); 
      Log.i("test","Closed"); 

     } else if (verticalOffset == 0) { 
      // Expanded 
      setTitle(""); 
      Log.i("test","Expanded"); 
     } else { 
      // Somewhere in between 

     } 
    } 
} 

回答

0

使用toolbar.setTitle(...)代替setTitle(...)

0

你应该更喜欢getSupportActionBar().setTitle("My Title");而不是tool.setTitle("My Title");因为后者setSupportActionBar后可能无法正常工作。

+0

它仍然不能工作 – ams92