Урок 7. Layout параметры для View-элементов.

Обсуждение уроков
Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Урок 7. Layout параметры для View-элементов.

Сообщение neoksi » 17 апр 2013, 09:51

mishapk писал(а): У меня на телефоне Android 2.2. Я при создании проекта выбираю все пункты API8:Android 2.2 (Froyo). В данном случае мне не дает выбрать тему Holo Dark.
Требует что бы API была как минимум 11 . Если выбрать в первом списке(Minimum r. SDK) API 11: Android 3.0 и выше или в предпоследнем (compile with) API17:Android 4.2 , тогда дает выбрать темную тему.
Вопрос будет ли работать такое приложение на Android 2.2
Нет, так как от того, что вы выберите тем у Holo она на андроидах ниже API 11 не появится, можно использовать сторонние библиотеки, такие как HoloEverywhere

Z11
Сообщения: 9
Зарегистрирован: 05 июн 2013, 19:12

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Z11 » 19 июн 2013, 21:33

Скажите пожалуйста а что делает параметр
android:padding

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 7. Layout параметры для View-элементов.

Сообщение rezak90 » 19 июн 2013, 21:57

Z11 писал(а):Скажите пожалуйста а что делает параметр
android:padding
он делает отступ внутри себя, скажем если применить атрибут androidpadding=9dp к LinearLayout то все его view будут иметь отступ от его границ в 9dp
R.id.team
Политика на форуме запрещена

Z11
Сообщения: 9
Зарегистрирован: 05 июн 2013, 19:12

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Z11 » 19 июн 2013, 22:06

rezak90 писал(а):
Z11 писал(а):Скажите пожалуйста а что делает параметр
android:padding
он делает отступ внутри себя, скажем если применить атрибут androidpadding=9dp к LinearLayout то все его view будут иметь отступ от его границ в 9dp
спасибо понятно

а что делает paddingStart
Как написано это отступ от стартового угла.
А стартовый угол это левый верхний ?
и по аналогии конечный угол это правый нижний ?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 7. Layout параметры для View-элементов.

Сообщение rezak90 » 19 июн 2013, 22:12

Z11 писал(а):Как написано это отступ от стартового угла.
А стартовый угол это левый верхний ?
и по аналогии конечный угол это правый нижний ?
Всё верно
R.id.team
Политика на форуме запрещена

Z11
Сообщения: 9
Зарегистрирован: 05 июн 2013, 19:12

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Z11 » 20 июн 2013, 09:20

Скажите а как можно нарисовать один TextView с нарисованной границей вокруг этого View.
Чтобы получилось как на рисунке :
Вложения
andr_3.JPG
andr_3.JPG (5.13 КБ) 19718 просмотров

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Урок 7. Layout параметры для View-элементов.

Сообщение anber » 20 июн 2013, 10:45

Z11 писал(а):Скажите а как можно нарисовать один TextView с нарисованной границей вокруг этого View.
Чтобы получилось как на рисунке :
есть 2 метода:

1) 9path Пример - http://habrahabr.ru/post/113623/
2) для простых форм как в данном случае можно использовать XML ресурсы. Пример - http://stackoverflow.com/questions/1521 ... color?rq=1


конкретно данную рамку можно создать 2 способом, а именно:
1) создать в папке drawable (на сколько я знаю в последних проектах она автоматически не создается, ее можно создать в папке res, хотя можно закинуть в любую из папок типа drawable-hdpi, drawable-ldpi, итд.) файли к примеру с названием custom_border.xml с содержимым типа:

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

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android">
  <solid
      android:color="#FFF"/>
  <stroke
      android:width="2dp"
      android:color="#000"/>
  <corners
      android:radius="3dp"/>
  <padding
      android:left="10dp"
      android:top="10dp"
      android:right="10dp"
      android:bottom="10dp"/>
</shape>
2) назначить этот ресурс нужной TextView (или другому элементу):

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

  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textColor="#000"
      android:text="Some text"
      android:background="@drawable/custom_border"
      />
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Z11
Сообщения: 9
Зарегистрирован: 05 июн 2013, 19:12

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Z11 » 20 июн 2013, 13:42

(anber) спасибо. Все получилось вторым способом.
Как я понял если эту рамку нужно делать разной для разных экранов
то создаем несколько файлов,
а если файл один то в какую именно из drawable его надо поместить(чтобы было правильно) ?

А первый способ насколько я понял позволяет одинаково (похоже) отображать картинку
для разных экранов

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Урок 7. Layout параметры для View-элементов.

Сообщение anber » 20 июн 2013, 14:16

Z11 писал(а):Как я понял если эту рамку нужно делать разной для разных экранов
то создаем несколько файлов,
а если файл один то в какую именно из drawable его надо поместить(чтобы было правильно) ?
Такие ресурсы можно создавать по одному для всех размеров и density. Хотя если к примеру толщина линии на телефоне должна быть 2 пикселя, а на планшете 4, то можно создать несколько разных и положить их в разные папки и система сама выберет нужную.
Про drawable я уже сказал - для универсальных ресурсов можно создать папку drawable, если она не создана.
Z11 писал(а):А первый способ насколько я понял позволяет одинаково (похоже) отображать картинку
для разных экранов
Второй способ позволяет рисовать неискаженные рамочки по периметру элемента, т.е. они "тянутся" без искажений картинки. Это важно скажем для углов картинки.

Вот пример когда одна и та же картинка просто "тянется" и с 9path:
Изображение
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Kolonist
Сообщения: 4
Зарегистрирован: 28 июн 2013, 09:01

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Kolonist » 28 июн 2013, 09:38

У меня такая же проблема, как описывалось выше.
Нижние кнопки "нахлестываются" друг на друга.
Я конечно могу в ручную уменьшить шрифт, но не совсем понятно почему такое отличие от примера, если использовался один и тот же код.



Сейчас пересмотрел видео к уроку - и там также кнопки "нахлестываются" друг на друга.
Так что я свой вопрос снимаю.
Вложения
7lesson.JPG
7lesson.JPG (12.21 КБ) 19669 просмотров

MadCat
Сообщения: 2
Зарегистрирован: 14 окт 2013, 14:49

Re: Урок 7. Layout параметры для View-элементов.

Сообщение MadCat » 14 окт 2013, 14:59

Добрый день. Имеется следующий код. Как нарисовать сетку таблицы программно? Именно программно, не разметкой.

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

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TableLayout tableLayout = new TableLayout(this);


        TableRow.LayoutParams params = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);
        tableLayout.setLayoutParams(params);
        tableLayout.setStretchAllColumns(true);

        TextView textView1 = new TextView(this);
        textView1.setText("Column 1");
        TextView textView2 = new TextView(this);
        textView2.setText("Column 2");
        TextView textView3 = new TextView(this);
        textView3.setText("Column 3");

        TextView textView4 = new TextView(this);
        textView4.setText("Column 4");
        TextView textView5 = new TextView(this);
        textView5.setText("Column 5");
        TextView textView6 = new TextView(this);
        textView6.setText("Column 6");

        TextView textView7 = new TextView(this);
        textView7.setText("Column 7");
        TextView textView8 = new TextView(this);
        textView8.setText("Column 8");
        TextView textView9 = new TextView(this);
        textView9.setText("Column 9");

        TableRow tableRow1 = new TableRow(this);
        TableRow tableRow2 = new TableRow(this);
        TableRow tableRow3 = new TableRow(this);

        tableRow1.addView(textView1);
        tableRow1.addView(textView2);
        tableRow1.addView(textView3);

        tableRow2.setBackgroundColor(0xffcccccc);
        tableRow2.addView(textView4);
        tableRow2.addView(textView5);
        tableRow2.addView(textView6);

        tableRow3.addView(textView7);
        tableRow3.addView(textView8);
        tableRow3.addView(textView9);

        tableLayout.addView(tableRow1);
        tableLayout.addView(tableRow2);
        tableLayout.addView(tableRow3);
        setContentView(tableLayout);
    }

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: Урок 7. Layout параметры для View-элементов.

Сообщение trew » 14 окт 2013, 15:16

[quote="MadCat"][/quote]
Может так:
Создать в папке drawable файл shape_rec.xml
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#ffffff"/>
<stroke android:width="2dip" android:color="#084B72" />
</shape>
</item>
</selector>[/syntax]
а вот пример для
textView4.setBackgroundResource(R.drawable.shape_rect);
проделайте для всех полей, и будет таблица.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

MadCat
Сообщения: 2
Зарегистрирован: 14 окт 2013, 14:49

Re: Урок 7. Layout параметры для View-элементов.

Сообщение MadCat » 14 окт 2013, 17:08

Спасибо, работает! :)

FreeHugsHere
Сообщения: 3
Зарегистрирован: 24 окт 2013, 14:10

Re: Урок 7. Layout параметры для View-элементов.

Сообщение FreeHugsHere » 25 окт 2013, 03:41

Не понимаю, почему когда я создаю текст вью, каждый раз текст уходит в бок за края кнопки. Как это исправить?
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Foenix » 25 окт 2013, 22:11

xml показывать надо, гадалок нету.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

FreeHugsHere
Сообщения: 3
Зарегистрирован: 24 окт 2013, 14:10

Re: Урок 7. Layout параметры для View-элементов.

Сообщение FreeHugsHere » 26 окт 2013, 01:15

Вот. В настройках ничего не менял. Выполняю уроки как говорят. Но когда переношу кнопки то там But есть а tton за экраном.
просто хотелось бы понять почему так происходит, и где это менять.
Вложения
P0072_LayoutProp.zip
(1.2 МБ) 337 скачиваний

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Foenix » 26 окт 2013, 22:28

у меня твой лэйаут выглядит нормально - все надписи на своем месте. Кстати, в файле есть мусорные символы, лучше их удалить и отформатировать текст там нормально.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Trimbombom
Сообщения: 20
Зарегистрирован: 20 окт 2013, 23:53
Контактная информация:

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Trimbombom » 27 окт 2013, 23:23

FreeHugsHere писал(а):Вот. В настройках ничего не менял. Выполняю уроки как говорят. Но когда переношу кнопки то там But есть а tton за экраном.
просто хотелось бы понять почему так происходит, и где это менять.
Как вариант - в Эклипсе над окном, где визуально отображается приложение или же его код, есть выпадающее меню, где можно выбрать устройство, чтобы посмотреть, как на его экране будет отображаться страница приложения. Видимо там выбрано устройство с экраном в 3,7" или что-то вроде того. Если поменять на 7", например, то все должно на экран помещаться.

Изображение
834x665(191.94 kB)


Как ещё один вариант - может где-то можно уменьшить размер текста для кнопок - мне было бы тоже интересно, как это сделать... может через добавление new string...

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Foenix » 27 окт 2013, 23:53

здесь суть не в шрифтах и выборе устройства, я выбирала точно такие же, и ничего не меняла. Здесь причина где-то в другом, почему надписи так съехали.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Владислав2303
Сообщения: 17
Зарегистрирован: 02 ноя 2013, 15:11
Откуда: Минск
Контактная информация:

Re: Урок 7. Layout параметры для View-элементов.

Сообщение Владислав2303 » 03 ноя 2013, 01:23

В начале урока внесите поправку пожалуйста, вы используете термин dpi, где нужно использовать термин ppi, это не одно и тоже, и у людей более менее понимающих оба термина складывается не правильное представление!

Ответить