Страница 2 из 5
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 30 июл 2012, 00:20
brainail
Извините что задаю этот вопрос здесь, но уже надоело. Постоянно происходит сбой парсинга XML файла. Вот например в этом уроке, если я скопирую ваш XML, и запущу, то всё хорошо. Если допустим я добавлю в него background для первого Linear Layout, то слетает парсер. Ладно, я удаляю строчку установки background-а (т.е по сути вернулся к вашему XML файлу который запускался отлично), и у меня всё равно ошибка парсера, причём файл *.out.xml не удаляется сразу, а только возможно когда в Debug удалить процесс. И только потом (возможно) у меня опять запустится. Дело может в том что я установил запрещённый параметр произошёл сбой, и теперь даже если вернуть всё обратно, там что то сохраняется ещё, или что ...
Код: Выделить всё
[2012-07-29 22:53:34 - P0181_DynamicLayout3] Error in an XML file: aborting build.
И да спасибо за ваши уроки
UPD: Ох, возможно это из-за того что я жму Run находясь фокусом при этом в XML файле... Либо стоит жать по чаще Refresh + Clean как только что-то меняется... Вообщем как нужно, если я правлю ручками где-то, стоит ли сделать после этого Refresh + Clean, или достаточно просто всегда запускать именно Activity находясь при этом фокусом на нём..
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 30 июл 2012, 00:39
Finch
brainail писал(а):Извините что задаю этот вопрос здесь, но уже надоело. Постоянно происходит сбой парсинга XML файла. Вот например в этом уроке, если я скопирую ваш XML, и запущу, то всё хорошо. Если допустим я добавлю в него background для первого Linear Layout, то слетает парсер. Ладно, я удаляю строчку установки background-а (т.е по сути вернулся к вашему XML файлу который запускался отлично), и у меня всё равно ошибка парсера, причём файл *.out.xml не удаляется сразу, а только возможно когда в Debug удалить процесс. И только потом (возможно) у меня опять запустится. Дело может в том что я установил запрещённый параметр произошёл сбой, и теперь даже если вернуть всё обратно, там что то сохраняется ещё, или что ...
Код: Выделить всё
[2012-07-29 22:53:34 - P0181_DynamicLayout3] Error in an XML file: aborting build.
И да спасибо за ваши уроки
Закрываешь xml и открываешь снова, иногда Clean помогает =)
У меня тоже 6ывает такое часто, осо6енно под линём
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 30 июл 2012, 00:42
brainail
Finch писал(а):brainail писал(а):Извините что задаю этот вопрос здесь, но уже надоело. Постоянно происходит сбой парсинга XML файла. Вот например в этом уроке, если я скопирую ваш XML, и запущу, то всё хорошо. Если допустим я добавлю в него background для первого Linear Layout, то слетает парсер. Ладно, я удаляю строчку установки background-а (т.е по сути вернулся к вашему XML файлу который запускался отлично), и у меня всё равно ошибка парсера, причём файл *.out.xml не удаляется сразу, а только возможно когда в Debug удалить процесс. И только потом (возможно) у меня опять запустится. Дело может в том что я установил запрещённый параметр произошёл сбой, и теперь даже если вернуть всё обратно, там что то сохраняется ещё, или что ...
Код: Выделить всё
[2012-07-29 22:53:34 - P0181_DynamicLayout3] Error in an XML file: aborting build.
И да спасибо за ваши уроки
Закрываешь xml и открываешь снова, иногда Clean помогает =)
У меня тоже 6ывает такое часто, осо6енно под линём
Ясно, да, Clean действительно показывает стабильность, но главное ещё находятся в файле Activity
Тогда no problem как говорится
Спасибо!
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 03 сен 2012, 17:05
Samigg
Здравствуйте, поправьте немного код, чтобы он везде был на желтом фоне, спасибо.
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 02 дек 2012, 16:21
tolik777
Подскажите почему у меня не работает следующий код:
Код: Выделить всё
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
.........
final ToggleButton myLightButton = new ToggleButton(this);
myLightButton.setText("BTN1");
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lp2.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
lp2.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
myLightButton.setLayoutParams(lp2);
addContentView(myLightButton, lp2);
Сама кнопка отображается, но в верхнем левом углу, а в нижнем правом не хочет
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 06 дек 2012, 17:52
damager82
tolik777 писал(а):Сама кнопка отображается, но в верхнем левом углу, а в нижнем правом не хочет
Попробуйте искать конкретный RelativeLayout и к нему addView выполнять, а не общий addContentView.
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 18 июн 2013, 20:08
PankovAlxndr
Здравствуйте.
В вашем примере мы меняем ширину кнопки!
Получается так: Перетаскивая seek в крайнее, например, левое положение, мы видим всю ту же левую маленькую кнопку с текстом "0" (правая "100"), все просто прекрасно.
Я пытаюсь сделать подобное только с высотой кнопки, аналогично, в крайнем положении у меня одна из кнопок сужается в тонкую полоску, что ее вообще не видно... не подскажите как это исправить красиво (можно и обычным if, наверное), но в случае с шириной мы этого ничего не делали же, не указывали минимально возможную ширину..
Как быть с высотой, чтобы кнопка не сужалась "в ноль", и даже в крайнем положении было видно что на ней написано хотя бы...
Заранее благодарен...
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 26 июн 2013, 13:43
sergey5
Появился вопрос по идеалогии android API после изучения этого урока. Почему используется конструкция:
Код: Выделить всё
lParams1.weight = 1;
вывозМетодаПерерисовки();
вместо того, как это обычно делается в Java:
lParams1.setWeight(1);
Проше говоря, почему и зачем игнорируется принцип инкапсуляции данных? (ради скорости или чего-то ещё?)
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 14 авг 2013, 09:27
Pomeo44
Здравствуйте! Помогите разобраться с привязкой нового слоя программно. Мой XML файл:
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
</TableRow>
</RelativeLayout>
По нажатию на button1 мне нужно добавлять ниже еще один TableRow. Но я не могу разобраться как привязать его к уже существующему TableRow.:
Код: Выделить всё
RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(wrapContent, wrapContent);
//lParams.gravity = Gravity.LEFT;
lParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
TableRow strokaLayout = new TableRow(this);
mainLayout.addView(strokaLayout, lParams);
Заранее спасибо!
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 14 авг 2013, 11:17
Pomeo44
Разобрался почему не работало. Но возникла новая проблема в получении id view элемента созданного программно. Код следующий:
Код: Выделить всё
...
headStroka = (TableRow) findViewById(R.id.tableRow1);
idPoslednjaStroka = headStroka.getId();
...
ableRow.LayoutParams lParams = new TableRow.LayoutParams(wrapContent, wrapContent, 1);
TableRow strokaLayout = new TableRow(this);
mainLayout.addView(strokaLayout, lParams);
RelativeLayout.LayoutParams tekParams = (RelativeLayout.LayoutParams) strokaLayout.getLayoutParams();
tekParams.addRule(RelativeLayout.BELOW, idPoslednjaStroka);
tekParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, 1);
Button testBottom = new Button(this);
testBottom.setBackgroundColor(Color.GREEN);
testBottom.setText("13");
strokaLayout.addView(testBottom, lParams);
[b]idPoslednjaStroka = strokaLayout.getId();[/b]
Счас при первом создании testBottom конпка создается в правильном месте, но idPoslednjaStroka присваивается -1. В Отладчике элемент strokaLayout отображается так же как и headStroka и пишет его id, но getId() почему то не хочет говорить какой id у элемента.
Подскажите!
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 15 авг 2013, 17:22
Volha
Pomeo44 писал(а):
Счас при первом создании testBottom конпка создается в правильном месте, но idPoslednjaStroka присваивается -1. В Отладчике элемент strokaLayout отображается так же как и headStroka и пишет его id, но getId() почему то не хочет говорить какой id у элемента.
Подскажите!
Потому что у strokaLayout не задано id, нечего и брать. Программно его можно установить методом setId(int id). Можно также воспользоваться механизмом расстановки тэгов: setTag(Object tag) и искать потом элемент как View v = findViewWithTag(Object tag).
А у headStroka id задан через xml.
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 16 авг 2013, 12:21
Pomeo44
Огромное спасбио! Использую setId()
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 23 сен 2013, 21:04
kokaqwerty
Ребят, помогите пожайлуста никак не могу понять как мне с помощью SeekBar регулировать rate в SoundPool объясните мне пожайлуста уже неделю роюсь
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 10 окт 2013, 14:13
Isaev
А как достучаться до изменения цвета SeekBar'a?
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 11 окт 2013, 14:19
Isaev
Не возможно? или никто не пробовал?
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 11 окт 2013, 14:37
Foenix
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 04 дек 2013, 19:55
alizmay
Спасибо авторам за эти уроки. У меня такой вопрос: почему, когда я меняю weight, btn1.requestLayout() перерисовывает кнопку, а btn1.invalidate() не перерисовывает?
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 03 янв 2014, 18:08
TittTitov
Доброго времени суток!
Подскажите, как правильно записывается код если нужно добавить к описанию класса Activity одновременно, например, OnClickListener и OnSeekBarChangeListener?
Спасибо!
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 03 янв 2014, 18:19
altwin
TittTitov писал(а):Доброго времени суток!
Подскажите, как правильно записывается код если нужно добавить к описанию класса Activity одновременно, например, OnClickListener и OnSeekBarChangeListener?
Спасибо!
public class MyActivity extends Activity implements OnClickListener, OnSeekBarChangeListener{ ... }
Re: Урок 18. Меняем layoutParams в рабочем приложении
Добавлено: 01 апр 2014, 22:54
tuuurrik
Чисто для себя хотел в конце урока сделать возврат ползунка на середину при нажатии на какую-нибудь кнопку. И возник тупой вопрос=) : хотел сделать обработчиком нажатия activity, но у нас там уже стоит
"public class MainActivity extends ActionBarActivity implements OnSeekBarChangeListener"
Мне добавить в конце этого implements OnClickListener? Или сделать другой обработчик?
Спасибо!