我正在尝试将 ConstraintLayout 功能扩展为具有全屏半透明背景色的 ProgressBar。这个想法是我可以重用这个布局并调用hideLoading()and showLoading()。进度条必须居中。
问题是:当constraintSet.applyTo(this)被调用时ConstraintSet.connect(...),它们上的所有视图都消失了,或者没有绘制。因为对它们的所有操作都被忽略,它们根本不显示在屏幕上。
这是我所拥有的:
public class ConstraintLayout extends android.support.constraint.ConstraintLayout {
private View background;
private ProgressBar progressBar;
public ConstraintLayout(Context context) {
super(context);
addLoader();
}
public ConstraintLayout(Context context, AttributeSet attrs) {
super(context, attrs);
addLoader();
}
public ConstraintLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
addLoader();
}
private void addLoader(){
int wrapContent = LayoutParams.WRAP_CONTENT;
int matchParent = LayoutParams.MATCH_PARENT;
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(this);
background = new View(getContext());
background.setBackgroundColor(getResources()
.getColor(R.color.background_loader_color)); …Run Code Online (Sandbox Code Playgroud) 我的屏幕上有一个 AutocompleteTextView。默认情况下,当用户单击 autocompletetextviews 下拉项中的项时,它会将这个 autocompletetextview 的文本设置为这个选定项的值。
有什么办法可以禁用它吗?那么当用户点击下拉项目时,只会onItemClickListener触发?
将值设置为 "" inonItemClickListener不是一个选项。
autoCompleteTextView.setOnItemClickListener { adapterView, view, i, l ->
autoCompleteTextView.setText("")
}
Run Code Online (Sandbox Code Playgroud)
因为我需要我TextWatcher的不被触发