popwindow高度_设置PopupWindow有一个最大高度

我吹一个PopupWindow内的ListView,我想在弹出的行为是这样的:设置PopupWindow有一个最大高度

包裹列表视图时,其高度为< X

设置弹出窗口的高度= x当listiew的高度> x(列表视图可滚动)

弹出窗口由连接到EditText的TextWatcher显示,因为它意在显示搜索建议。 ListView底层的适配器由自定义加载程序管理,只要用户在EditText中输入了某些内容就会启动。 我试图在列表视图上覆盖onMeasure()并将测量的高度传递给一个侦听器,该侦听器调用PopupWindow.update(),但由于后者最终会调用第一个,因此会创建一个循环。 使用下面的代码,弹出窗口将所包含的ListView视为想要的,但高度不限于任何值。我需要一个解决方案来将高度限制在最大值,比如说300dp。

etFiltro.addTextChangedListener(new TextWatcher() {

@Override

public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {

/...

}

@Override

public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {

Log.i("loader","text changed");

filtro = String.valueOf(charSequence);

getSupportLoaderManager().rest

我吹一个PopupWindow内的ListView,我想在弹出的行为是这样的:设置PopupWindow有一个最大高度 包裹列表视图时,其高度为< X 设置弹出窗口的高度= x当listiew的高度> x(列表视图可滚动) 弹出窗口由连接到EditText的TextWatcher显示,因为它意在显示搜索建议。 ListView底层的适配器由自定义加载程序管理,只要用户在EditText中输入了某些内容就会启动。 我试图在列表视图上覆盖onMeasure()并将测量的高度传递给一个侦听器,该侦听器调用PopupWindow.update(),但由于后者最终会调用第一个,因此会创建一个循环。 使用下面的代码,弹出窗口将所包含的ListView视为想要的,但高度不限于任何值。我需要一个解决方案来将高度限制在最大值,比如说300dp。 etFiltro.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { /... } @Override public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { Log.i("loader","text changed"); filtro = String.valueOf(charSequence); getSupportLoaderManager().rest
经验分享 程序员 微信小程序 职场和发展