Страница 1 из 1

Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 10:48
CollSpack
Вот, есть параметры кнопки:
int wrapContent = LinearLayout.LayoutParams.WRAP_CONTENT;
int matchParent = LinearLayout.LayoutParams.MATCH_PARENT;
LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(matchParent, wrapContent);


Но мне нужно добавить параметр выравнивания по левому краю
android:gravity="left|center_vertical"

Как это сделать программно?

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 10:50
rezak90
Вы же уже получили lParams, у него есть поле gravity вот ему и устанавливайте значение.

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 10:59
CollSpack
Всеровно не пойму как пользоваться. В гуглодокументации нереально разобраться...
Open Declaration int android.widget.LinearLayout.LayoutParams.gravity

@ExportedProperty(category="layout", mapping={@IntToString(from=-1, to="NONE"), @IntToString(from=0, to="NONE"), @IntToString(from=48, to="TOP"), @IntToString(from=80, to="BOTTOM"), @IntToString(from=3, to="LEFT"), @IntToString(from=5, to="RIGHT"), @IntToString(from=8388611, to="START"), @IntToString(from=8388613, to="END"), @IntToString(from=16, to="CENTER_VERTICAL"), @IntToString(from=112, to="FILL_VERTICAL"), @IntToString(from=1, to="CENTER_HORIZONTAL"), @IntToString(from=7, to="FILL_HORIZONTAL"), @IntToString(from=17, to="CENTER"), @IntToString(from=119, to="FILL")})


Что же писать?
lParams.gravity = IntToString(3, "LEFT") - перепробовал КУЧУ вариантов... не пойму как... =(

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 11:41
rezak90

Код: Выделить всё

LinearLayout.LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
		params.gravity = Gravity.LEFT | Gravity.CENTER_VERTICAL;
P.S. ещё раз напишите мелким шрифтом, буду просто игнорировать (и думаю не один я), есть же на форуме теги для оформления кода.

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 11:54
CollSpack
Не работает! :shock: Всеровно кнопки создаются с текстом по центру вертикально и горизонтально... Я уже и комп перезагружал... Че за фигня?

Код: Выделить всё

LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lParams.gravity = Gravity.LEFT | Gravity.CENTER_VERTICAL;

Button agafon_1 = new Button(this);
agafon_1.setText(R.string.agafon_1);
llPreViewList.addView(agafon_1, lParams);
ctrl + shift + o нажимал.

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 12:15
rezak90
я не вижу что бы вы кнопке agafon_1 передавали новые параметры lParams

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 12:24
CollSpack
Так вон же они, в 6й строке 2й аргумент.

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 18:53
CollSpack
Вопрос остается не решенным! Как же передать дополнительные параметры?

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 19:43
KamiSempai
CollSpack писал(а):Вопрос остается не решенным! Как же передать дополнительные параметры?
setLayoutParams(lParams) для кнопки не пробовали сделать?

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 20:44
CollSpack
KamiSempai писал(а):setLayoutParams(lParams) для кнопки не пробовали сделать?
Как я мог пробовать если не знаю что это?
Как его использовать? Можно примером? А то я уже куда угодно пытался его лепить...

В общем у меня такой код:

Код: Выделить всё

//Параметры кнопок
LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

//Кнопки с текстом
Button agafon_1 = new Button(this);
agafon_1.setText(R.string.agafon_1);
llPreViewList.addView(agafon_1, lParams);

Button agafon_2 = new Button(this);
agafon_2.setText(R.string.agafon_2);
llPreViewList.addView(agafon_2, lParams);
ПОЖАЛУЙСТА сделайте чтоб у этих кнопок при создании был Gravity.LEFT | Gravity.CENTER_VERTICAL. А то у меня башка треснет от функций которые непонятно как и куда писать. Нужен пример.

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 21 июн 2013, 22:03
KamiSempai
Создать нормальный XML файл разметки с нужными параметрами религия не позволяет?

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 25 июн 2013, 07:58
CollSpack
Это ж сколько мне нужно создавать XML файлов с разметкой? Около 100-150...
У меня кнопки при разных параметрах выдают разное количество кнопок с текстом.

Вам что сложно обьяснить?

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 25 июн 2013, 09:47
KamiSempai
CollSpack писал(а):Это ж сколько мне нужно создавать XML файлов с разметкой? Около 100-150...
:shock:

Как Вы собираетесь все это на экране помещать?

Поймите, я с Вами не трололошеньками занимаюсь, а стараюсь понять, что именно Вам нужно сделать и помочь в этом.
Вы же хотите научиться писать программы на андроиде, а не говнокодить велосипеды?

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 25 июн 2013, 10:06
rezak90
listview с грамотным адаптером, получится около 100 строчек кода, не больше

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 25 июн 2013, 10:27
KamiSempai
rezak90 писал(а):listview с грамотным адаптером, получится около 100 строчек кода, не больше
Я к этому и клоню :roll:

Re: Как изменить параметры кнопки в работающем приложении?

Добавлено: 25 июн 2013, 19:42
CollSpack
Отличный форум и "отличные" люди считающие что другие - говнокодят велосипеды.

Тему можно закрывать, я ухожу с этого форума.