上下文菜单(弹出菜单)布局高度Api 24

时间:2018-08-13 18:17:51

标签: android android-layout android-alertdialog android-appcompat

我有一个仅影响api 24的问题。AppCompatEditText的弹出菜单确实很高。在其他api级别上,它看起来是正确的。

此问题阻止用户选择文本。

enter image description here

场景:

打开一个对话框窗口(A)。

使用AppCompat AlertDialogAlertDialog.Builder创建另一个警报弹出窗口对话框(B)。

选择编辑文本内容。

contentview是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:minWidth="@dimen/th_dialog_min_width"
android:orientation="vertical"
android:theme="@style/thThemeDark.NoActionBar">

<include layout="@layout/th_layout_dialog_alert_body" />
</LinearLayout>

包含布局为

<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:layout_marginTop="15dp"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:paddingLeft="25dp"
    android:paddingRight="25dp">

    <com.company.android.infrastructure.ui.views.TTFAppCompatTextView
        style="@style/thTextView"
        android:textColor="@color/th_dialog_logo"
        android:textSize="@dimen/th_dialog_logo"
        android:text="@string/th_icon_brand"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <android.support.v7.widget.AppCompatTextView
        style="?attr/thTextViewHeaderStyle"
        android:id="@+id/dialog_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:text="@string/th_title"
        android:layout_marginStart="20dp" />
</LinearLayout>

<View
    style="@style/thDivider"
    android:background="@color/th_light_divider" />

<android.support.v7.widget.AppCompatTextView
    android:id="@+id/dialog_message"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="25dp"
    android:paddingLeft="25dp"
    android:paddingRight="25dp" />

<android.support.v7.widget.AppCompatEditText
    android:hint="@string/th_region"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/dialog_edit_text"
    android:layout_marginTop="25dp"
    android:visibility="gone"
    android:inputType="text" />

<LinearLayout
    android:id="@+id/dialog_buttons_container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="25dp"
    android:layout_marginTop="25dp"
    android:gravity="center"
    android:layout_gravity="center"
    android:orientation="horizontal">

    <android.support.v7.widget.AppCompatTextView
        style="?attr/thButtonFlatCancelStyle"
        android:textAllCaps="true"
        android:id="@+id/btn_cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:text="@android:string/cancel"
        android:visibility="gone" />

    <android.support.v7.widget.AppCompatButton
        style="?attr/thButtonRaisedStyle"
        android:textAllCaps="true"
        android:id="@+id/btn_positive"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:gravity="center"
        android:minWidth="80dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="@android:string/ok"
        android:visibility="gone" />
</LinearLayout>

这是全局的“编辑文本样式”

<style name="thEditText" parent="Widget.AppCompat.EditText">
    <item name="android:fontFamily">sans-serif</item>
    <item name="android:textSize">@dimen/th_text</item>
    <item name="android:ellipsize">end</item>
    <item name="android:textColor">?thEditTextColor</item>
    <item name="android:textColorHint">?thEditTextHintColor</item>
    <item name="android:textColorHighlight">?thEditTextHighlightColor</item>
    <item name="thDrawableRightFontIconColor">?thEditTextDrawableRightColor</item>
    <item name="thDrawableLeftFontIconColor">?thEditTextDrawableRightColor</item>
    <item name="thDrawableRightScaleFactor">@dimen/th_text_drawable_right_scale_factor</item>
    <item name="thDrawableLeftScaleFactor">@dimen/th_text_drawable_left_scale_factor</item>
</style>

没有PopupMenu样式,尽管我尝试设置它。我不确定如何以编程方式获取上下文菜单,以及如何为它的创建设置侦听器永远不会被调用。

有人知道我如何控制布局参数吗?

0 个答案:

没有答案