- Разделитель рисования Android / разделительная линия в макете?
- Самый простой способ:
- Вертикальный разделитель:
- Горизонтальный разделитель:
- Это все да!
- Разделитель Android / разделитель линии в макете?
- Простое решение
- Разделитель рисования Android / разделительная линия в макете?
- 31 ответ
- У меня есть самый простой способ добавить разделитель.
- Вертикальный разделитель:
- Горизонтальный разделитель:
- Это все да!
- Разделители Android GridLayout
- 2 ответа
- Как нарисовать линию в android
- Рисование линии с холстом
- Рисование линии с представлением
Разделитель рисования Android / разделительная линия в макете?
Я хотел бы нарисовать линию прямо в середине макета и использовать его в качестве разделителя других элементов, таких как TextView. Есть хороший виджет для этого. Я действительно не хочу использовать изображение, так как было бы трудно сопоставить другие компоненты с ним. И я хочу, чтобы это тоже было относительно позиционировано. Спасибо
Я обычно использую этот код для добавления горизонтальной линии:
Чтобы добавить вертикальный разделитель, переключение layout_width и layout_height значения
Улучшить ответы, предоставленные Алексеем Кучеренко и Даном Дар3
Я добавил это в мои стили:
Тогда в моих макетах меньше кода и проще для чтения.
Добавьте это в свой макет, где вы хотите разделитель (измените атрибуты, чтобы соответствовать вашим потребностям):
Вы можете использовать это в LinearLayout :
Самый простой способ:
Вертикальный разделитель:
Горизонтальный разделитель:
Это все да!
Просто вставьте это в res>values>styles.xml
используйте этот код. Это поможет
Просто напишите это:
Между двумя макетами Поместите этот код, чтобы получить разделитель.
если вы используете actionBarSherlock, вы можете использовать класс com.actionbarsherlock.internal.widget.IcsLinearLayout для поддержки разделителей и отображения их между представлениями.
res / drawable /divr.xml:
обратите внимание, что по какой-то причине в графическом конструкторе отображается сообщение «android.graphics.bitmap_delegate.nativeRecycle (I) Z». не уверен, что это значит, но его можно игнорировать, так как он отлично работает как на новых версиях Android, так и на старых (протестировано на Android 4.2 и 2.3).
Кажется, ошибка отображается только при использовании API17 для графического дизайнера.
Источник
Разделитель Android / разделитель линии в макете?
Я хотел бы нарисовать линию прямо в середине макета и использовать его как разделитель других элементов, таких как TextView. Есть ли хороший виджет для этого. Я действительно не хочу использовать изображение, так как было бы сложно сопоставить другие компоненты с ним. И я хочу, чтобы он был относительно позиционирован. благодаря
Обычно я использую этот код для добавления горизонтальной линии:
Чтобы добавить вертикальный разделитель, layout_height значения layout_width и layout_height
Чтобы улучшить ответы, предоставленные Алексом Кучеренко и Дэн Дар3
Я добавил это к моим стилям:
Тогда в моих макетах меньше кода и проще читать.
Добавьте это в свой макет, где вы хотите делитель (измените атрибуты в соответствии с вашими потребностями):
Вы можете использовать это в LinearLayout :
Используйте этот код. Это поможет
Если вы используете actionBarSherlock, вы можете использовать класс com.actionbarsherlock.internal.widget.IcsLinearLayout для поддержки разделителей и отображения их между представлениями.
Res / drawable / divider.xml:
Обратите внимание, что по какой-то причине предварительный просмотр в графическом дизайнере говорит «android.graphics.bitmap_delegate.nativeRecycle (I) Z». Не уверен, что это значит, но его можно игнорировать, так как он отлично подходит как для новых версий Android, так и для старых (проверен на Android 4.2 и 2.3).
Кажется, что ошибка отображается только при использовании API17 для графического дизайнера.
Вот ваш ответ. Это пример рисования линии между элементами управления …
Этот код рисует линию между двумя элементами управления …
Он добавляет горизонтальный делитель в любом месте вашего макета.
Добавление этого представления; textviews рисует разделитель между вашими textviews
Используйте этот xml-код, чтобы добавить вертикальную линию
Используйте этот xml-код, чтобы добавить горизонтальную линию
Обычно я использую этот код:
Если у вас есть объект в вашем макете, и вы хотите установить строку ниже, которая использует этот атрибут в ImageView:
Чтобы завершить ответ Camille Sévigny, вы можете дополнительно определить свою собственную форму линии, например, чтобы настроить цвет линии.
Определите xml-форму в выпадающем каталоге. line_horizontal.xml:
Используйте эту строку в своем макете с желаемыми атрибутами:
Если вы собираетесь использовать его много, лучше всего сделать это.
styles.xml:
Теперь в вашем макете просто добавьте его как:
Разделите пространство на две равные части:
Обратите внимание, что одна часть содержит разделитель в конце
Простое решение
Просто добавьте этот код в свой макет и замените «Id_of__view_present_above» на идентификатор представления, ниже которого вам нужен разделитель.
Это поможет вам решить эту проблему. Здесь создается небольшой вид, чтобы сделать черную линию разделителем между двумя видами.
Это очень просто. Просто создайте вид с черным цветом фона.
Это создаст горизонтальную линию с цветом фона. Вы также можете добавить другие атрибуты, такие как поля, paddings и т. Д., Как и любое другое представление.
Просто напишите это:
Например, если вы использовали recyclerView для своих товаров:
В build.gradle write:
Если вы хотите установить значения цвета, размера и поля, вы можете указать следующее:
Добавьте горизонтальную черную линию, используя следующую команду:
Добавьте горизонтальный linearLayout как это.
Источник
Разделитель рисования Android / разделительная линия в макете?
Я хотел бы нарисовать строку прямо в середине макета и использовать его как разделитель других элементов, таких как TextView. Есть ли хороший виджет для этого. Я не хочу использовать изображение, так как было бы трудно сопоставить другие компоненты с ним. И я хочу, чтобы он был относительно позиционирован. Благодаря
31 ответ
Я обычно использую этот код для добавления горизонтальной линии:
Чтобы добавить вертикальный разделитель, установите значения layout_width и layout_height
Чтобы улучшить ответы, предоставленные Алекс Кучеренко и Dan Dar3
Я добавил это в мои стили:
Тогда в моих макетах меньше кода и проще читать.
Добавьте это в свой макет, где вы хотите делитель (измените атрибуты в соответствии с вашими потребностями):
Вы можете использовать это в LinearLayout :
используйте этот код. Это поможет
У меня есть самый простой способ добавить разделитель.
Вертикальный разделитель:
Горизонтальный разделитель:
Это все да!
Просто поместите это в res>values>styles.xml
если вы используете actionBarSherlock, вы можете использовать класс com.actionbarsherlock.internal.widget.IcsLinearLayout, чтобы поддерживать разделители и показывать их между представлениями.
Обратите внимание, что по какой-то причине предварительный просмотр в графическом дизайнере говорит «android.graphics.bitmap_delegate.nativeRecycle(I) Z». не уверен, что это значит, но его можно игнорировать, так как он отлично работает на обеих версиях андроида и старых (проверен на Android 4.2 и 2.3).
кажется, что ошибка отображается только при использовании API17 для графического дизайнера.
Просто напишите это:
Добавление этого представления; который рисует разделитель между вашим textviews
Это очень просто. Просто создайте вид с черным цветом фона.
Это создаст горизонтальную линию с цветом фона. Вы также можете добавить другие атрибуты, такие как поля, paddings и т.д., Как и любое другое представление.
Вот ваш ответ. Это пример рисования линии между элементами управления.
Этот код нарисовать линию между двумя элементами управления.
Он добавляет горизонтальный разделитель в любом месте вашего макета.
Между двумя макетами Поместите этот код, чтобы получить Divider.
Вы можете использовать этот элемент сразу после первого TextView.
используйте этот xml-код для добавления вертикальной линии
используйте этот xml-код для добавления горизонтальной строки
В тех случаях, когда вы используете свойство android:layout_weight для назначения доступного пространства экрана компонентам компоновки, например
Чтобы добавить разделитель между существующими двумя макетами, которые уже заняли все пространство экрана, мы не можем просто добавить еще один LinearLayout с android:weight:»1″ потому что это сделает три столбца равной ширины, которые нам не нужны. Вместо этого мы уменьшим объем пространства, которое мы предоставим этому новому макету. Окончательный код будет выглядеть так:
Если вы собираетесь использовать его много, лучше всего
styles.xml:
теперь в вашем макете, просто добавьте его как:
Добавьте горизонтальную черную линию, используя следующую команду:
Источник
Разделители Android GridLayout
Почему бы Android не включить возможность ограничивать ячейки в сетке? Я прочитал несколько сообщений о нескольких способах сделать это. Ниже приведен один метод, который я попробовал с ограниченным успехом. Моя проблема — разделитель горизонтальной линии. При выполнении с вертикальным и горизонтальным кодом на месте моя сетка заканчивается блокировкой ячеек, поэтому текст в ячейке не отображается. Если я удалю горизонтальный код, я получу идеальные вертикальные линии в каждом столбце, как и ожидалось. Любая идея относительно того, что не так. Я смог использовать тот же метод для создания линий сетки на столе. Сетка находится внутри горизонтальной прокрутки, которая находится внутри вертикальной прокрутки. Фон Gridlayout черный. Итак, у меня должны получиться синие ячейки и черные разделительные линии.
Изменить: это то, что я нашел в другом сообщении о настройке полей textView
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) textViewD.getLayoutParams (); params.setMargins (2, 2, 2, 2); textViewD.setLayoutParams (параметры);
У меня нет LinearLayout, когда я пытаюсь это сделать, он вылетает.
2 ответа
Другой простой и хитрый способ получить такой же View , как вы хотите:
Поскольку фон вашего GridLayout уже черный, поместите ваш TextView в другой макет, скажем, LinearLayout сделайте макет Textview для setparams MATCH_PARENT , затем примените некоторые margins позволяет сказать 2 , а затем добавить все представление ( LinearLayout в качестве корня). Это приведет к появлению черного цвета, потому что поле немного изменит вид и, следовательно, покажет какие-то границы, как вы показали на своем изображении! Использование этого способа упростит работу, и поэтому вам не нужно создавать разделительные линии, будь то горизонтальные или вертикальные!
Для тех, кто может столкнуться с подобной ситуацией, как предложил Ксенолион, вот что я в итоге сделал.
Источник
Как нарисовать линию в android
Может ли кто-нибудь сказать, как нарисовать линию на Android, возможно, с примером?
Это рисует 2 линии, которые образуют крест в верхнем левом углу экрана:
DrawView.java
StartDraw.java
Если вы хотите, чтобы простая линия в макете разделяла два вида, вы можете использовать общий вид с высотой и шириной, которые вы хотите иметь в строке, и заданным цветом фона.
При таком подходе вам не нужно переопределять представление или использовать Canvas самостоятельно, просто и просто добавить строку в xml.
Пример кода, который я предоставил, будет генерировать линию, которая заполняет экран шириной и имеет высоту одного дп.
Если у вас возникли проблемы с рисованием линии на маленьких экранах, подумайте об изменении высоты линии на px. Проблема в том, что на экране ldpi линия будет высотой 0,75 пикселя. Иногда это может привести к округлению, что приводит к исчезновению линии. Если это проблема для вашего макета, определите ширину строки в файле ressource и создайте отдельный файл ressource для небольших экранов, который устанавливает значение 1px вместо 1dp.
Этот подход можно использовать только в том случае, если вы хотите использовать горизонтальные или вертикальные линии, которые используются для разделения элементов макета. Если вы хотите достичь чего-то вроде креста, который втягивается в изображение, мой подход не будет работать.
Существует два основных способа рисования линии, используя Canvas или с помощью представления.
Рисование линии с холстом
Из документации мы видим, что нам нужно использовать следующий метод:
Объект Paint просто сообщает Canvas какой цвет для рисования линии, насколько она широка и т. Д.
Вот пример кода:
Рисование линии с представлением
Если вам нужна только прямая горизонтальная или вертикальная линия, самым простым способом может быть просто View в вашем файле макета xml. Вы бы сделали что-то вроде этого:
Вот изображение с двумя строками (одна горизонтальная и одна вертикальная), чтобы показать, как это будет выглядеть:
И вот полный макет xml для этого:
Вы можете нарисовать несколько прямых линий на виду, используя пример рисования пальцев, который находится в Developer android. Пример ссылки
Просто комментарий: mPath.quadTo(mX, mY, (x + mX)/2, (y + mY)/2); Вы сможете рисовать прямые линии.
Для горизонтальной линии на макете:
Для вертикальной линии на макете:
Это создаст прямую горизонтальную линию, надеюсь, что это поможет !.
Этот код добавляет горизонтальную линию к линейной компоновке
Вы можете сделать рисованный круг, линию, прямоугольник и т. Д. Через фигуры в xml следующим образом:
Чтобы улучшить ответы, предоставленные @Janusz
Я добавил это к моим стилям:
Тогда в моих макетах меньше кода и проще читать.
Если вы хотите сделать горизонтальное межстрочное расстояние, то сделайте выше.
И для вертикальной линии между двумя видами вам нужно заменить параметры android: layout_width (атрибуты) на android: layout_height
Еще один подход к рисованию линии программно с помощью ImageView
Источник