我有一个仅影响api 24的问题。AppCompatEditText
的弹出菜单确实很高。在其他api级别上,它看起来是正确的。
此问题阻止用户选择文本。
场景:
打开一个对话框窗口(A)。
使用AppCompat AlertDialog
和AlertDialog.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样式,尽管我尝试设置它。我不确定如何以编程方式获取上下文菜单,以及如何为它的创建设置侦听器永远不会被调用。
有人知道我如何控制布局参数吗?