带有图标和文字的微调器,如Android上的手机应用程序(带蓝牙)

时间:2015-05-13 23:46:30

标签: android bluetooth spinner alertdialog

我想重新创建以下内容:

enter image description here

具体来说,请注意蓝牙图标,单击它会显示看起来像微调器的东西?或者它是以某种方式正确定位的对话框?我无法在任何地方找到手机应用程序代码,并且对如何最好地实现此功能感到茫然。

1 个答案:

答案 0 :(得分:0)

我在发布问题后不久就找到了解决方案。

正确的解决方案是使用PopupWindow。以下是您需要做的所有事情:

    LayoutInflater layoutInflater
            = (LayoutInflater)getBaseContext()
            .getSystemService(LAYOUT_INFLATER_SERVICE);
    View popupView = layoutInflater.inflate(R.layout.bluetooth_popup, null);

    popupView.findViewById(R.id.bluetooth).setOnClickListener(this);
    popupView.findViewById(R.id.speakerphone).setOnClickListener(this);
    popupView.findViewById(R.id.earpiece).setOnClickListener(this);

    popupWindow = new PopupWindow(
            popupView,
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);

    // Together these two allow for the popupWindow to be dismissed when touch occurs outside
    popupWindow.setBackgroundDrawable(new BitmapDrawable());
    popupWindow.setOutsideTouchable(true);

然后将其显示为锚定到视图:

popupWindow.showAsDropDown(speaker, 0, (int) (-160));

希望这可以帮助你。