在折叠状态下更改方向时,工具栏标题消失

米歇尔·雷普

我正在尝试在chesesquare存储库上创建一个可折叠的工具栏,但我遇到了这个问题:

https://www.youtube.com/watch?v=THdxcyEc1CA&feature=youtu.be

有人知道如何解决这个问题吗?

Ajith Pandian |

您可以在配置更改(方向)时检查AppBarLayout的状态,并将其存储。然后,您可以在应用配置更改后为AppBarLayout设置该状态。

public class CheeseDetailActivity extends AppCompatActivity {

public static final String EXTRA_NAME = "cheese_name";
AppBarLayout appBarLayout;
boolean isCollapsed = false;

//state change listener
AppBarLayout.OnOffsetChangedListener toolbarStateListener = new AppBarLayout.OnOffsetChangedListener() {
    @Override
    public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
        if (verticalOffset == 0) {
            // Collapsed
            isCollapsed = true;
        } else {
            // Not collapsed
            isCollapsed = false;

        }
    }
};

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail);

    Intent intent = getIntent();
    final String cheeseName = intent.getStringExtra(EXTRA_NAME);

    final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    CollapsingToolbarLayout collapsingToolbar =
            (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
    collapsingToolbar.setTitle(cheeseName);

    //getting app bar layout
    appBarLayout = (AppBarLayout) findViewById(R.id.appbar);
    //set listener to listen state change of app bar layout
    appBarLayout.addOnOffsetChangedListener(toolbarStateListener);

    loadBackdrop();
}


@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    //save state on orientation change
    savedInstanceState.putBoolean("isCollapsed", isCollapsed);
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    //get state on orientation change
    isCollapsed = savedInstanceState.getBoolean("isCollapsed");
}

@Override
protected void onResume() {
    super.onResume();
    //set state of app bar layout
    appBarLayout.setExpanded(isCollapsed);
}

private void loadBackdrop() {
    final ImageView imageView = (ImageView) findViewById(R.id.backdrop);
    Glide.with(this).load(Cheeses.getRandomCheeseDrawable()).centerCrop().into(imageView);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.sample_actions, menu);
    return true;
}
}

我已经在CheeseSquare资源库中编辑了CheeseDetailActivity。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

折叠工具栏标题消失

来自分类Dev

当折叠的工具栏折叠时,如何更改其颜色?

来自分类Dev

Android可折叠的工具栏菜单图标消失了

来自分类Dev

Android可折叠的工具栏菜单图标消失了

来自分类Dev

更改工具栏中的标题颜色?

来自分类Dev

在android中更改工具栏标题

来自分类Dev

折叠时折叠工具栏锚定视图被隐藏

来自分类Dev

折叠工具栏折叠时隐藏浮动按钮

来自分类Dev

折叠时折叠工具栏锚定视图被隐藏

来自分类Dev

如何在不滚动android的情况下将折叠的工具栏显示为折叠状态

来自分类Dev

获取折叠的工具栏布局的标题textview

来自分类Dev

如何仅在工具栏中显示标题而不在打开的折叠工具栏中显示标题

来自分类Dev

滚动时工具栏折叠不起作用

来自分类Dev

返回时swiftUI bottomBar工具栏消失

来自分类Dev

使用低于4.4的Vuforia版本时,工具栏消失

来自分类Dev

可折叠的工具栏不折叠

来自分类Dev

Android工具栏:横向模式下的小标题文本

来自分类Dev

在折叠的折叠工具栏布局中为标题添加边距

来自分类Dev

更改工具栏背景颜色和标题

来自分类Dev

导航抽屉布局工具栏中的标题未更改

来自分类Dev

更改键盘工具栏Objective-C的标题颜色

来自分类Dev

透明的工具栏,用于展开的折叠工具栏

来自分类Dev

设置工具栏标题

来自分类Dev

启用“后退按钮”时工具栏标题不在中心

来自分类Dev

单击导航项目菜单时设置工具栏的标题

来自分类Dev

工具栏下的GridView-滚动时隐藏工具栏

来自分类Dev

工具栏下的GridView-滚动时隐藏工具栏

来自分类Dev

折叠工具栏在协调器布局中滚动时不会折叠

来自分类Dev

在视图寻呼机中滚动时折叠工具栏不会折叠

Related 相关文章

热门标签

归档