Android中Alertdialog是沒有直接顯示在指定控件下的API的,妳可以使用PopupWindow來實現顯示在指定控件下面的需求。PopupWindow不僅能顯示在指定位置,還可以指定顯示和消失的動畫,不必限定死必須用哪個控件,只需要實現需求即可。
PopupWindow 是壹個可以顯示在當前 Activity 之上的浮動容器,PopupWindow 彈出的位置是能夠改變的,按照有無偏移量,可以分為無偏移和有偏移兩種;按照參照對象的不同又可以分為兩種:相對某個控件(Anchor 錨點)的位置和在父容器內部的相對位置。
LayoutInflater?mLayoutInflater?=?(LayoutInflater)?context.getSystemService(LAYOUT_INFLATER_SERVICE);View?contentView?=?mLayoutInflater.inflate(R.layout.pop,?null)
//?R.layout.pop為PopupWindow?的布局文件
PopupWindow?pop?=?new?PopupWindow(contentView,?LayoutParams.FILL_PARENT,?LayoutParams.WRAP_CONTENT);
pop.setBackgroundDrawable(new?BitmapDrawable());
//?指定?PopupWindow?的背景
pop.setFocusable(true);?
//指定PopupWindow顯示在妳指定的view下
pop.showAsDropDown(your_view);