将片段显示为具有透明背景的弹出窗口

时间:2014-05-26 20:52:00

标签: android popup fragment alert

我想像Fragment那样制作AlertDialog弹出框,但背景透明。

我的片段看起来像这样:

enter image description here

目前我正在做以下事情:

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    Player player = (Player)adapterView.getItemAtPosition(i);
    FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
    fragmentTransaction.add(PlayerProfileFragment.newInstance(null), null);
    fragmentTransaction.commit();
}

该片段根本没有显示。我想为了使它工作,我应该使用重载add(layoutId, fragment),但这只会将片段放在特定区域,而不是将片段显示为&#34;弹出&#34;。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Fragment可能无法显示,因为您没有指定要将其添加到哪个布局。您正在使用的add()版本会将Fragment添加到ID为0的容器中。

答案 1 :(得分:0)

我通过使用以下方法创建接口来修复此问题:

public void addFragment(int viewId, Fragment fragment);

然后我在我的Activity中实现了该监听器,其中包含FragmentTransaction

public void addFragment(int viewId, Fragment fragment){ 
    FragmentTransaction fragmentTransaction = getSupportFragmentTransaction().beginTran....;
    fragmentTransaction.add(viewId, fragment);
    fragmentTransaction.commit();
}