Мне нужно создать фигуру андроида, чтобы только нижняя часть имела обводку (пунктирная линия). Когда я пробую следующее, обводка делит фигуру пополам по центру. Кто-нибудь знает, как правильно сделать? обводка должна быть нижней линией / границей. Я использую фигуру в качестве фона для TextView. Пожалуйста, неважно, зачем мне это нужно.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#1bd4f6" />
</shape>
</item>
<item>
<shape android:shape="line" >
<padding android:bottom="1dp" />
<stroke
android:dashGap="10px"
android:dashWidth="10px"
android:width="1dp"
android:color="#ababb2" />
</shape>
</item>
</layer-list>
android
android-drawable
android-styles
layer-list
Cote Mounyo
источник
источник
Ответы:
Это своего рода взлом, но я думаю, что это, вероятно, лучший способ сделать это. Пунктирная линия всегда будет внизу, независимо от высоты.
Объяснение:
Вторая форма - прозрачный прямоугольник с пунктирным контуром. Ключ к тому, чтобы граница отображалась только внизу, заключается в отрицательных полях, установленных на других сторонах. Эти отрицательные поля «выталкивают» пунктирную линию за пределы нарисованной области с этих сторон, оставляя только линию внизу. Один потенциальный побочный эффект (который я не пробовал) заключается в том, что для представлений, которые рисуются за пределами своих границ, границы с отрицательными полями могут стать видимыми.
источник
Это трюк ...
источник
источник
Этот ответ предназначен для тех, кто ищет в Google, кто хочет показать пунктирную нижнюю границу
EditText
как здесьСоздайте
dotted.xml
внутреннююdrawable
папку и вставьте этиЗатем просто установите
android:background
атрибут, которыйdotted.xml
мы только что создали. ВыEditText
выглядите так.источник
Я считаю, что это просто, без всех этих негативных прокладок и аистов.
источник
<item android:drawable="@color/main_bg_color"/>
Попробуйте следующий XML-код:
источник
Я думаю, что вам не нужно использовать форму, если я вас понял.
Если вы выглядите так, как показано на следующем изображении, используйте следующий макет.
РЕДАКТИРОВАТЬ
поиграйте с этими свойствами и получите результат
попробуй вот так
источник
Простое решение:
Создайте файл с возможностью рисования как edittext_stroke.xml в папке с возможностью рисования . Добавьте приведенный ниже код:
В файле макета добавьте рисование для редактирования текста как
источник
Обычно для подобных задач я создавал список слоев, который можно рисовать, как этот:
Идея состоит в том, что сначала вы рисуете прямоугольник с underlineColor, а затем поверх этого вы рисуете еще один прямоугольник с фактическим buttonColor, но применяя bottomPadding. Всегда работает.
Но когда мне нужно было, чтобы buttonColor был прозрачным, я не мог использовать вышеуказанный drawable. Я нашел еще одно решение
(как вы можете видеть здесь mainButtonColor является прозрачным, а white_box - это просто простой прямоугольник, который можно рисовать с помощью белого Solid)
источник
используйте этот xml, чтобы изменить цвет по вашему выбору.
В случае, если вы хотите программно
назовите этот метод как
источник
У меня это сработало лучше всего:
Показывает линию только внизу. Вы можете легко изменить ширину обводки до нужного размера, а также обновить верхнюю, левую и правую границы соответственно.
источник
Самый простой способ сделать это - поместить после этого представления, где вы хотите нижнюю границу
источник
это полностью прозрачный Edittext с прозрачным фоном.
источник
Простое решение :
И наконец у нас получилось что-то подобное :)
источник