Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.184.90] |
|
Сообщ.
#1
,
|
|
|
Привет. Возник затык с такой задачей: есть 5 обычных кнопок на layout'е. Хочу, чтобы они заполняли весь layout без промежутков (либо с гибко регулируемым промежутком между ними, все же совсем без него будет уныло). Пробую решить все на уровне XML-компоновки. Чтобы заполнить весь layout кнопками, это надо использовать weight, а чтобы регулировать расстояние - margin (при отрицательных значениях кнопки можно друг к другу притереть). Проблема в том, что они у меня вместе не контачат - либо шашечки, либо ехать.
Если подвести итог: надо, чтобы кнопки заполняли весь layout, на котором они находятся, и расстояние между ними было меньше, чем дефолтное. Кто-нибудь сталкивался с подобной проблемой? Заранее спасибо за толчки в нужном направлении. P.S. Еще заметил такую ботву: некоторые компоненты (в частности, button) имеют вокруг графической части некую пустую область. Нахрена? Причем пустое расстояние по краям неравномерно. Например, у button оно везде, кроме верхней части. |
Сообщ.
#2
,
|
|
|
Weight + width=fill_parent.
Добавлено Instead of buttons you can use simple image view. It will help you to get rid of additional paddings. |
Сообщ.
#3
,
|
|
|
Цитата Weight + width=fill_parent. Это ты к чему написал? Чтобы заполнить все пространство по вертикали, надо всем кнопкам установить height в 0dip, weight в 1, а у layout'а не устанавливать weightSum. Тогда если задать кнопкам width как match_parent, то они равномерно заполнят все пространство по ширине и вертикали. Для горизонтального заполнения аналогично. А то что ты написал - совершенно непонятно в текущем контексте. Насчет ImageView вместо Button: пока склоняюсь к нему, правда, придется хлебнуть с картинками и стилями на состояния кнопки, но что поделать, если Button такой убогий. Его еще и квадратным не так просто сделать оказалось. Добавлено В любом случае, предложения по изнасилованию Button все еще приветствуются. |
Сообщ.
#4
,
|
|
|
Можно переопределить стиль кнопки ( не помню, где нашел примерчик)
создать вот такой вот xml-ничек, например my_new_xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape> <gradient android:startColor="#FFFF00" android:endColor="#808000" android:angle="270" /> <stroke android:width="1dp" android:color="#000000" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> </shape> </item> <item android:state_focused="true" > <shape> <gradient android:endColor="#F7BE45" android:startColor="#F7D896" android:angle="270" /> <stroke android:width="1dp" android:color="#000000" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> </shape> </item> <item> <shape> <gradient android:endColor="#A0A0A0" android:startColor="#E0E0E0" android:angle="270" /> <stroke android:width="1dp" android:color="#000000" /> <corners android:radius="2dp" /> <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> </shape> </item> </selector> А затем кнопке задать this.buttonDate.setBackgroundResource(R.drawable.my_new_xml); Можно поиграться настройками. |
Сообщ.
#5
,
|
|
|
Про стили Button есть хорошие материалы:
http://stackoverflow.com/questions/4489069...id-button-style http://www.dibbus.com/2011/02/gradient-buttons-for-android/ В свете того, что, скорее всего, сами кнопки будут создаваться в итоге в рантайме, возможно, это остается единственным приемлемым для меня вариантом. |