Страница 3 из 6

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

Добавлено: 17 апр 2013, 09:51
neoksi
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

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

Добавлено: 19 июн 2013, 21:33
Z11
Скажите пожалуйста а что делает параметр
android:padding

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

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

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

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

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

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

Добавлено: 19 июн 2013, 22:12
rezak90
Z11 писал(а):Как написано это отступ от стартового угла.
А стартовый угол это левый верхний ?
и по аналогии конечный угол это правый нижний ?
Всё верно

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

Добавлено: 20 июн 2013, 09:20
Z11
Скажите а как можно нарисовать один TextView с нарисованной границей вокруг этого View.
Чтобы получилось как на рисунке :

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

Добавлено: 20 июн 2013, 10:45
anber
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"
      />

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

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

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

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

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

Вот пример когда одна и та же картинка просто "тянется" и с 9path:
Изображение

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

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



Сейчас пересмотрел видео к уроку - и там также кнопки "нахлестываются" друг на друга.
Так что я свой вопрос снимаю.

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

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

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

    @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);
    }

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

Добавлено: 14 окт 2013, 15:16
trew
[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);
проделайте для всех полей, и будет таблица.

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

Добавлено: 14 окт 2013, 17:08
MadCat
Спасибо, работает! :)

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

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

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

Добавлено: 25 окт 2013, 22:11
Foenix
xml показывать надо, гадалок нету.

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

Добавлено: 26 окт 2013, 01:15
FreeHugsHere
Вот. В настройках ничего не менял. Выполняю уроки как говорят. Но когда переношу кнопки то там But есть а tton за экраном.
просто хотелось бы понять почему так происходит, и где это менять.

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

Добавлено: 26 окт 2013, 22:28
Foenix
у меня твой лэйаут выглядит нормально - все надписи на своем месте. Кстати, в файле есть мусорные символы, лучше их удалить и отформатировать текст там нормально.

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

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

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


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

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

Добавлено: 27 окт 2013, 23:53
Foenix
здесь суть не в шрифтах и выборе устройства, я выбирала точно такие же, и ничего не меняла. Здесь причина где-то в другом, почему надписи так съехали.

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

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