Пометка определенных представлений на одинаковое поведение - PullRequest
0 голосов
/ 06 февраля 2020

Сценарий Я интегрирую платежи в приложении в моем приложении Android для некоторых функций, которые будут разблокированы, когда пользователь заплатит и станет пользователем Pro. Идея состоит в том, чтобы показать взгляды, ведущие к функциональности Pro, в приложении как для бесплатных, так и для платных пользователей. Но,

  • для бесплатных пользователей, приложение показывает значок Pro с этими видами. Всякий раз, когда бесплатный пользователь щелкает по представлению или элементу управления Pro, доступные планы платежей отображаются вместе с пользовательским интерфейсом, чтобы стать пользователем Pro.
  • для пользователей Pro, при щелчке по представлению Pro пользователи переходят в пользовательский интерфейс для использования этих функций. .

Проблема В этом подходе Goto добавляется if/else в onClickListener всех этих представлений, чтобы привести пользователя к различным частям приложения в зависимости от того, профессионалы или нет. Но поскольку в Pro много функций, добавление повторяющихся операторов if/else к каждому из onClickListener сделает код уродливым.

Требуемое решение Я хочу иметь способ пометить все представления Pro таким образом, чтобы код мог знать, что для свободного пользователя, щелкнув эти представления, откроется пользовательский интерфейс, чтобы стать пользователем Pro, и как только пользователь станет пользователем Pro, нажатие этих представлений приведет их к соответствующие функциональные экраны. Есть ли способ достичь этого или я должен придерживаться стандартного подхода, как я уже говорил выше?

1 Ответ

0 голосов
/ 06 февраля 2020

Я думаю, что вы можете использовать привязку данных для видимости представлений

<data>
    <import type="android.view.View"/>
    <variable
        name="isPro"
        type="java.lang.Boolean"/>
</data>

<LinearLayout android:visibility="@{isPro? View.GONE : View.VISIBLE}"/>
...