#android #xml #material-design
#Android #xml #материал-дизайн
Вопрос:
Я совсем новичок в мире разработки приложений для Android. В настоящее время я пробую некоторые базовые вещи. В настоящее время я пытаюсь создать плавающую метку, подобную тем, которые можно увидеть в различных приложениях material design.
То, что я пытаюсь сделать, это получить CardView
и поместить a TextInputLayout
на эту карту.
<android.support.v7.widget.CardView
android:layout_width="310dp"
android:layout_height="250dp"
android:layout_below="@ id/textView"
android:layout_alignRight="@ id/textView"
android:layout_alignEnd="@ id/textView"
android:layout_marginTop="13dp" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@ id/labeltest"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="floating label"/>
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
</android.support.v7.widget.CardView>
Теперь, когда я делаю это, я получаю вид карты, который я должен получить, но TextInputLayout не отображается. Однако я могу нажать на него, после чего он фокусируется и позволяет мне вводить текст. (см. Пример ниже)
Я хотел бы добавить, что я тестирую его на виртуальной машине, а не на реальном устройстве.
Спасибо.
Редактировать: согласно запросу, colors.xml
<resources>
<color name="colorPrimary">#E43F3F</color>
<color name="colorPrimaryDark">#E12929</color>
<color name="primary_darker">#CC1D1D</color>
<color name="colorAccent">#FFFFFF</color>
<color name="black">#000000</color>
<color name="jet">#222222</color>
<color name="oil">#333333</color>
<color name="monsoon">#777777</color>
<color name="jumbo">#888888</color>
<color name="aluminum">#999999</color>
<color name="base">#AAAAAA</color>
<color name="iron">#CCCCCC</color>
<color name="white">#FFFFFF</color>
<color name="Trans_text">#a8ffffff</color>
</resources>
Комментарии:
1.
android:layout_height="wrap_content"
в редактируемом тексте. В вашем текущем коде у родительского элемента есть wrap_content, а у дочернего — match_parent, которые отменяют друг друга равными 0, поэтому убедитесь, что у них есть правильные дочерние и родительские layout_params2.И рекомендуется использовать
TextInputEditText
сTextInputLayout
вместо простогоEditText
developer.android.com/reference/android/support/design/widget /…3. @MohammedAtif только что попробовал
android.support.design.widget.TextInputEditText
. Когда я использую это, оно становится полностью невидимым и недоступным для нажатия4. Не могли бы вы добавить, пожалуйста
colors.xml
, файл?5. добавил @IulianPopescu
Ответ №1:
Если вы прочтете Руководство по дизайну материалов, вы обнаружите, что colorAccent
используется в качестве цвета для строки под вашим полем. У вас colorAccent
установлен белый цвет (см. colors.xml
Файл) итак, я предполагаю, что TextInputLayout
он смешивается с фоновым цветом parent
, который также является белым или чем-то подобным. Попробуйте изменить colorAccent
красный или что-то в этом роде, чтобы узнать, была ли это проблема.