gpt4 book ai didi

android - DialogFragment 上的 ActionBar Action

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:47:31 28 4
gpt4 key购买 nike

我有一个 DialogFragment,它使用 setStyle(STYLE_NORMAL, R.style.Theme_App) 设置为全屏样式。

DialogFragment 显示正常,但向上操作(ActionBar 上的 homeAsUp 操作)不起作用。我尝试在 DialogFragment 中实现 onOptionsItemSelected 但它从未被调用。

有没有办法在 DialogFragment 中获取向上 Action 回调,以便我可以忽略它?作为引用,我使用的是 ActionBarCompat

最佳答案

这是不可能的,但是使用工具栏 可以解决这个问题。现在您可以将 Toolbar 作为 DialogFragment layout xml 的一部分包含在内,并可以根据您的需要设置其设计/图标。如果您希望后退按钮的行为与正常情况一样,您还需要实现 setNavigationOnClickListener。请参阅下面的示例类。

package com.package.name;

import android.app.Dialog;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;



public class MyDialogFragment extends DialogFragment {
private View parentView;
private Toolbar toolbar;


@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
setStyle(DialogFragment.STYLE_NO_FRAME, R.style.Theme_AppCompat_NoActionBar);
return super.onCreateDialog(savedInstanceState);
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//The layout xml file contains the toolbar
parentView = inflater.inflate(R.layout.dialogfragment_createpost, container, false);
initView();
initData();
return parentView;
}


private void initView() {
toolbar = (Toolbar) parentView.findViewById(R.id.toolbar);

}

private void initData() {
toolbar.setTitle("Post");
//Set naviagtion icon to back button drawable
toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// handle back button naviagtion
dismiss();
}
});
}
}

关于android - DialogFragment 上的 ActionBar Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24134714/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com