В Android, мне нужно иметь размеры макета, зависящие от переменных в ViewModel. Например:
<TextView
android:id="@+id/amount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Example"
android:layout_marginTop="@{viewModel.interfaceEnable ? 0dp : 10dp}"
/>
На основании значения в viewModel.interfaceEnable
, оно будет 0dp или 10dp. Но ошибка, которую я получаю, заключается в следующем:
Syntax error: extraneous input 'p' expecting {'.', '::', '[', '+', '-', '*', '/', '%', '<<', '>>>', '>>', '<=', '>=', '>', '<', 'instanceof', '==', '!=', '&', '^', '|', '&&', '||', '?', ':', '??'}
Как я могу установить dp или любое значение через такую проверку?
Вы можете сделать что-то вроде этого:
android:layout_marginTop="@{viewModel.interfaceEnable ? @dimen/no_margin : @dimen/margin_normal}"
code
<измерение name = "no_margin"> 0 </ dimension> <измерение имени = "margin_normal"> 10 </ dimension>