Всплывающее меню для копирования / вставки не отображается в полном размере - PullRequest
0 голосов
/ 29 октября 2018

Когда я дважды щелкаю или долго нажимаю на текст в EditText, PopupMenu с параметрами копирования / вставки не отображается в полном размере.

Я использую действие, в котором размещается фрагмент подробного сообщения. Я также пытался играть со стилями Popup и не получил результата. enter image description here

Стиль, который я использую в упражнении

<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimaryDark">@color/black</item>
    <item name="colorAccent">@color/white</item>

    <item name="searchViewStyle">@style/AppSearchViewStyle</item>

    <!--Текст-->
    <item name="android:gravity">center</item>
    <item name="android:textColor">@color/gold</item>
    <item name="android:textSize">@dimen/general_text_size</item>
    <item name="android:fontFamily">@font/basis_grotesque_pro_regular</item>
    <item name="actionMenuTextColor">@color/white</item>

    <item name="popupMenuStyle">@style/MyPopup</item>
    <item name="android:popupMenuStyle">@style/MyPopup</item>
  </style>

  <style name="MyPopup" parent="Base.Widget.AppCompat.PopupMenu">
    <item name="android:popupBackground">@color/gold</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:itemBackground">@color/white</item>
  </style>

  <style name="AppSearchViewStyle" parent="Widget.AppCompat.SearchView">
    <item name="queryBackground">@android:color/transparent</item>
    <item name="searchIcon">@drawable/search_icon</item>
    <item name="android:imeActionId">6</item>
  </style>

Описание фрагмента макета

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black"
    >

  <include
      layout="@layout/util_toolbar_and_header"
      android:id="@+id/util_description_toolbar_and_header"
      />

  <EditText
      android:id="@+id/util_description_message"
      android:layout_width="@dimen/fill_parent"
      android:layout_height="@dimen/fill_parent"
      android:layout_marginBottom="8dp"
      android:layout_marginEnd="8dp"
      android:layout_marginStart="30dp"
      android:layout_marginTop="8dp"
      android:fontFamily="@font/basis_grotesque_pro_regular"
      android:gravity="start"
      android:textColor="@color/white"
      android:textColorHighlight="@color/gold"
      app:layout_constraintBottom_toTopOf="@+id/util_description_button"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toBottomOf="@+id/util_description_toolbar_and_header"
      tools:text="Совсем плохое освещение в туалете, люди не могут скрутить трубочку. Совсем плохое освещение в туалете, люди не могут скрутить трубочку."
      />

  <Button
      android:id="@+id/util_description_button"
      android:layout_width="300dp"
      android:layout_height="80dp"
      android:layout_marginBottom="8dp"
      android:layout_marginEnd="8dp"
      android:layout_marginStart="8dp"
      android:background="@drawable/ic_general_button"
      android:textAllCaps="false"
      android:textSize="25sp"
      app:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      tools:text="Отправить идею"
      />

</android.support.constraint.ConstraintLayout>

Панель инструментов и заголовок, которые я включаю в макет

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/util_toolbar_and_header_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
  <android.support.v7.widget.Toolbar
      android:id="@+id/util_toolbar"
      android:layout_width="match_parent"
      android:layout_height="?android:actionBarSize"
      android:layout_alignParentTop="true"
      android:background="@color/black"
      app:collapseIcon="@drawable/menu_back_arrow"
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
      app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
      >

    <android.support.constraint.ConstraintLayout
        android:id="@+id/util_toolbar_back_button_container"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginStart="21dp"
        >

      <ImageView
          android:id="@+id/util_toolbar_back_img"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginBottom="8dp"
          android:layout_marginTop="8dp"
          android:src="@drawable/menu_back_arrow"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintTop_toTopOf="parent"
          />

      <TextView
          android:id="@+id/util_toolbar_back_text"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginStart="8dp"
          android:fontFamily="@font/basis_grotesque_pro_bold"
          android:text="Назад"
          android:gravity="center|start"
          android:textColor="@color/white"
          app:layout_constraintBottom_toBottomOf="@+id/util_toolbar_back_img"
          app:layout_constraintStart_toEndOf="@+id/util_toolbar_back_img"
          app:layout_constraintTop_toTopOf="@+id/util_toolbar_back_img"
          />
    </android.support.constraint.ConstraintLayout>

    <android.support.constraint.ConstraintLayout
        android:id="@+id/util_toolbar_right_side_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

      <ImageView
          android:id="@+id/util_toolbar_right_side_icon"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginEnd="8dp"
          app:layout_constraintBottom_toBottomOf="@+id/util_toolbar_right_side_text"
          app:layout_constraintEnd_toStartOf="@+id/util_toolbar_right_side_text"
          app:layout_constraintTop_toTopOf="@+id/util_toolbar_right_side_text"
          tools:srcCompat="@drawable/menu_icon_add"
          />
      <TextView
          android:id="@+id/util_toolbar_right_side_text"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginEnd="8dp"
          android:fontFamily="@font/basis_grotesque_pro_bold"
          android:gravity="center|start"
          android:text="Борис"
          android:textColor="@color/white"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toEndOf="parent"
          app:layout_constraintTop_toTopOf="parent"
          />
    </android.support.constraint.ConstraintLayout>
  </android.support.v7.widget.Toolbar>

  <TextView
      android:id="@+id/util_general_header"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginStart="@dimen/general_header_margin_start"
      android:fontFamily="@font/basis_grotesque_pro_bold"
      android:gravity="start"
      android:textSize="@dimen/general_header_text_size"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toBottomOf="@+id/util_toolbar"
      tools:text="@android:string/dialog_alert_title"
      />

  <TextView
      android:id="@+id/util_general_header_detail_message"
      android:layout_width="@dimen/fill_parent"
      android:layout_height="wrap_content"
      android:layout_marginEnd="@dimen/general_margin"
      android:layout_marginStart="@dimen/general_header_margin_start"
      android:layout_marginTop="1dp"
      android:fontFamily="@font/basis_grotesque_pro_light"
      android:gravity="start"
      android:maxLines="2"
      android:textSize="16sp"
      android:paddingBottom="5dp"
      android:textColor="@color/grey"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toBottomOf="@+id/util_general_header"
      tools:text="Выберете тему в которой вы хотите обсудить ошибки"
      />

</android.support.constraint.ConstraintLayout>

И код onCreateView (...)

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
  ): View? {
    val view = inflater.inflate(R.layout.util_description_fragment, container, false)
    ButterKnife.bind(this, view)

    mWorkingDayAddHeader.text = "Текст события"
    mWorkingDayAddHeaderDetail.text = "Опишите максимально детально ваше событие"
    mWorkingDayAddButton.text = "Добавить событие"
    mWorkingDayAddRightSideText.text = "Борис"

    val wrapper = ContextThemeWrapper(activity!!, style.AppThemeNoActionBar)
    val popup = PopupMenu(wrapper, view)

    return view
  }

Более того, возможно, вы бы дали несколько комментариев о качестве кода, что может быть очень полезно. Заранее спасибо

1 Ответ

0 голосов
/ 29 октября 2018
val view = inflater.inflate(R.layout.util_description_fragment, container, false)
......
val popup = PopupMenu(wrapper, view)

Согласно приведенным выше кодам, привязка для этого всплывающего окна будет фрагментарной. Но это должен быть EditText, верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...