如何在微调器

时间:2016-02-04 04:43:16

标签: android position android-spinner

有没有设置默认微调器位置的方法,我只想在微调器标题下面显示我的微调器窗口,但通常当我们点击微调器时,标题上方的窗口弹出窗口,那么有没有办法显示弹出窗口在标题下面。

4 个答案:

答案 0 :(得分:3)

对于这个微调器,您可以像这样使用

 android:dropDownVerticalOffset="40dp"

 <android.support.v7.widget.AppCompatSpinner
  android:spinnerMode="dropdown"
  android:dropDownVerticalOffset="40dp"
  android:layout_width="match_parent"
  android:layout_height="fill_parent"/>

现在下拉将根据您的要求显示。

答案 1 :(得分:2)

我更喜欢使用这种方法而不是处理ViewTreeObserver

mSortingSpinner.post(new Runnable() {
            @Override
            public void run() {
                mSortingSpinner.setDropDownVerticalOffset(mSortingSpinner.getDropDownVerticalOffset() + mSortingSpinner.getHeight());
            }
        });

答案 2 :(得分:1)

对于下拉列表微调器模式,您可以使用:

mSortingSpinner.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        mSortingSpinner.setDropDownVerticalOffset(
                mSortingSpinner.getDropDownVerticalOffset() + mSortingSpinner.getHeight());
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
            mSortingSpinner.getViewTreeObserver().removeOnGlobalLayoutListener(this);
        } else {
            mSortingSpinner.getViewTreeObserver().removeGlobalOnLayoutListener(this);
        }
    }
});

通过微调器高度设置下拉列表的垂直偏移量。

答案 3 :(得分:0)

以下是 Rami El-bouhiKotlin 方式的代码:

spinner.post {
  dropDownVerticalOffset += height
}