Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 28 мар 2017, 02:18

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 97 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
СообщениеДобавлено: 11 авг 2011, 04:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1320
Благодарил (а): 0 раз.
Поблагодарили: 71 раз.
Расположение View-элементов на экране зависит от ViewGroup (Layout), в которой они находятся. В этом уроке мы рассмотрим основные виды Layout.

LinearLayout – отображает View-элементы в виде одной строки (если он Horizontal) или одного столбца (если он Vertical). Я использовал это на прошлом уроке, когда демонстрировал использование layout-файлов при смене ориентации.

TableLayout – отображает элементы в виде таблицы, по строкам и столбцам.

RelativeLayout – для каждого элемента настраивается его положение относительно других элементов.

AbsoluteLayout – для каждого элемента указывается явная позиция на экране в системе координат (x,y)

Рассмотрим эти виды

Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 07 янв 2017, 19:28, всего редактировалось 16 раз(а).

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 31 янв 2012, 00:24 

Зарегистрирован: 30 янв 2012, 22:15
Сообщений: 21
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Уж не понимаю, то-ли у меня какой-то глюк с Еклипсом, толи у Гугла проблемы с кодом, но у меня нормально кнопки не расположились после копи-паста, порывшись нашел такое исправление:
Было:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. android:layout_below="@id/label"/>

Сделал:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. android:layout_below="@+id/label"/>

то-есть объявляли ID как @+id/label, а в примере указывает на ID @id/label без плюсика.

и так во всех layout-ах


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 фев 2012, 16:04 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1320
Благодарил (а): 0 раз.
Поблагодарили: 71 раз.
Точно. Есть такая проблема. А раньше ее не было.
Видать какое-то из обновлений ADT плагина поменяло алгоритм парсинга ...

Спасибо, что указали! Ща подумаю, как подправить текст.

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 июн 2012, 20:51 

Зарегистрирован: 26 июн 2012, 20:31
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Как сделать, чтобы динамически наполняемый Layout в виджете автоматически скроллировался и показывал последний добавленный элемент снизу?

Идея такова:
В виджете ограничен layout-ами и работать динамически могу через remoteViews.addView, поэтому создан например
<LinearLayout android:id="@+id/layout"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_gravity="bottom|right" />

обновление стандартно через appWidgetManager.updateAppWidget

а RemoteViews собираю динамически, т.е. через remoteViews.addView добавляю еще RemoteViews:
remoteViews.addView(R.id.layout, nestedView);
в моем случае nestedView состоит из одного TextView:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tvLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Layout with TextView">
</TextView>

Все хорошо пока размера Layout хватает, а потом добавляемые нижние nestedView "уходят за нижние пределы Layout, а хотелось бы, чтобы ранеедобавленные "уходили" за верхние пределы Layout (автоскроллинг).

З.Ы. Возможно это вопрос к след. теме. Уроки еще не все прочел, но подходящей темы не нашел.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 июл 2012, 01:11 

Зарегистрирован: 02 июл 2012, 04:16
Сообщений: 18
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Подскажите пожалуйста. почему по умолчанию корневым создается Relative Layout а не LinearLayout. И почему файл назыается не main.xml а activiti_main
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 июл 2012, 14:50 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1320
Благодарил (а): 0 раз.
Поблагодарили: 71 раз.
xolostyak_by писал(а):
Подскажите пожалуйста. почему по умолчанию корневым создается Relative Layout а не LinearLayout. И почему файл назыается не main.xml а activiti_main

Возможно, так происходит в новой версии ADT-плагина.
Кто-нить обновляется регулярно? Есть такое в последних версиях?

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 июл 2012, 15:22 

Зарегистрирован: 14 май 2012, 17:18
Сообщений: 372
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
Да, стартовый макет немного изменили. Новая разметка теперь создается с Relative Layout . В ресурсах для каждого Activity создается макет меню. Соответственно в Activity помимо onCreate добавили
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

Также можно создать значки всех типов для приложения (раньше это можно было сделать через Android Asset Studio , теперь его прикрутили непосредственно к мастеру). Иконки можно создавать также после создания приложения запуском мастера Android Icon Set
Вообще количество визардов стало больше.

Теперь можно добавлять Activity (и не только) в приложения , они будут автоматом добавляться в манифест.
Ну еще много чего изменили/добавили.

ЗЫ Вообще я в "новостях" создал специальную тему для обсуждения нововведений.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 08:26 

Зарегистрирован: 09 июл 2012, 08:12
Сообщений: 6
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Не получается выполнить урок, так код указанный в уроке и код по ссылке http://developer.android.com/guide/topi ... ative.html вызывают ошибки. Конкретно ошибку вызывает элемент "Plain text" из "Text fields". При чем если в свойствах "Input Type" изменить на любой другой, например "textPersonName", то ошибка пропадает. Текст ошибки:
Цитата:
NOTE: This project contains Java compilation errors, which can cause rendering failures for custom views. Fix compilation problems first.
java.util.LinkedHashMap.eldest()Ljava/util/Map$Entry;

Из первой строчки понятно что проблема с явой, но что конкретно делать, обновлений новых не находит, да и все остальное работает без проблем. Эклипс перезапускал, систему перезагружал на результат не влияет:)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2012, 23:38 

Зарегистрирован: 13 июл 2012, 23:33
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Поправьте урок, чтобы Eclipse не ругался, необходимо в примере с rlayout.xml добавить в части с EditText:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. android:inputType="textNoSuggestions"

Namehere, это решит твою проблему.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 июл 2012, 12:35 

Зарегистрирован: 09 июл 2012, 08:12
Сообщений: 6
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
спасибо, diarworld. Это именно косяк эклипса? Ведь по умолчанию добавляется именно такой обьект и свойства поменять невозможно, только править хмл файл.
Да и при запуске приложений несмотря на ошибки выдаваемые eclipse все работает нормально.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 июл 2012, 13:59 

Зарегистрирован: 26 июл 2012, 13:28
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
мне кажется или вы умолчали о FrameLayout?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 июл 2012, 10:37 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1320
Благодарил (а): 0 раз.
Поблагодарили: 71 раз.
papka писал(а):
мне кажется или вы умолчали о FrameLayout?

Умолчал. Но уже в следующем уроке я в этом каюсь )

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 окт 2012, 11:28 

Зарегистрирован: 11 сен 2012, 11:37
Сообщений: 12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Кнопка в низу экрана, в WebView если текста много то кнопка остается постоянно внизу а текст прокручивается за кнопкой. Как сделать чтобы кнопка находилась всегда ниже текста какой длины бы он не был, и появлялась когда прокручиваешь весь текст до конца?

Код: [ Загрузить ] [ Скрыть ]
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3. xmlns:tools="http://schemas.android.com/tools" 
  4. android:id="@+id/RelativeLayout1" 
  5. android:layout_width="match_parent" 
  6. android:layout_height="match_parent" > 
  7.  
  8. <WebView 
  9. android:id="@+id/webView" 
  10. android:layout_width="match_parent" 
  11. android:layout_height="match_parent" 
  12. android:layout_alignParentLeft="true" 
  13. android:layout_alignParentTop="true" /> 
  14. <Button 
  15. android:id="@+id/btnAdd" 
  16. android:layout_width="wrap_content" 
  17. android:layout_height="wrap_content" 
  18. android:layout_alignBottom="@id/webView" 
  19. android:layout_centerHorizontal="true" 
  20. android:gravity="center_vertical|center_horizontal" 
  21. android:text="@string/btnAdd" /> 
  22.  
  23. </RelativeLayout> 


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 ноя 2012, 00:26 

Зарегистрирован: 12 окт 2012, 16:31
Сообщений: 117
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Доброго времени суток. А как сделать чтоб было два эдит текста друг под другом, а рядом с ними кнопка высотой два этих эдита?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 ноя 2012, 00:53 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 14:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. <LinearLayout
  2.    android:layout_height="fill_parent"
  3.    android:layout_width="fill_parent"
  4.    android:orientation="horiontal" >
  5.       <LinearLayout
  6.          android:layout_height="fill_parent"
  7.          android:layout_width="fill_parent"
  8.          android:layout_weight="1"
  9.          android:orientation="vertical" >
  10.             <EditText
  11.                android:layout_height="wrap_content"
  12.                android:layout_width="wrap_content"
  13.                <!-- на ваше усмотрение -->
  14.                />
  15.             <EditText
  16.                android:layout_height="wrap_content"
  17.                android:layout_width="wrap_content"
  18.                <!-- на ваше усмотрение -->
  19.                />
  20.             </LinearLayout>
  21.       <LinearLayout
  22.          android:layout_height="fill_parent"
  23.          android:layout_width="fill_parent"
  24.          android:layout_weight="1"
  25.          android:orientation="vertical" >
  26.             <Button
  27.                android:layout_height="fill_parent"
  28.                android:layout_width="fill_parent"
  29.                />
  30.             </LinearLayout>
  31. </LinearLayout>

Не проверял, но должно работать

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 ноя 2012, 20:17 

Зарегистрирован: 12 окт 2012, 16:31
Сообщений: 117
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
rezak90 писал(а):
Не проверял, но должно работать


Спасибо. Работает. Но кнопка не одной высоты с эдитами. А вообще можно вручную выставить их размеры? Пытался ставить не получается


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 ноя 2012, 20:55 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 14:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
что значит вручную? по-пиксельно что ли? можно конечно за месть LinearLayout использовать RelativeLayout.

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 ноя 2012, 13:14 

Зарегистрирован: 12 окт 2012, 16:31
Сообщений: 117
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
rezak90 писал(а):
что значит вручную? по-пиксельно что ли? можно конечно за месть LinearLayout использовать RelativeLayout.

Да, по-пиксельно. Правда могут быть проблемы с разными экранами


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 ноя 2012, 14:22 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 14:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
по-пиксельно забудьте, если делаете для более чем одного разрешения экрана))) в 99,99% нет необходимости использовать такие методы, в андроиде достаточно способов/методов организовать всё красиво для всех экранов.

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 дек 2012, 15:07 

Зарегистрирован: 18 окт 2012, 11:11
Сообщений: 44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Подскажите,
1. как сделать чтобы кнопочки были впритык?
2. и как изменить их высоту? (мне нужно чтобы ниже были, чуть- чуть приплюснутыми)

Код: [ Загрузить ] [ Скрыть ]
Using Text Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_width="fill_parent"
  4.     android:layout_height="fill_parent"
  5.     android:orientation="vertical" >
  6.  
  7.     <LinearLayout
  8.         android:id="@+id/btLayout"
  9.         android:layout_width="fill_parent"
  10.         android:layout_height="wrap_content"
  11.         android:orientation="horizontal" >
  12.  
  13.         <Button
  14.             android:id="@+id/button1"
  15.             android:layout_width="wrap_content"
  16.             android:layout_height="wrap_content"
  17.             android:layout_weight="1"
  18.             android:layout_marginLeft="0dp"
  19.             android:text="ххх" />
  20.  
  21.         <Button
  22.             android:id="@+id/button2"
  23.             android:layout_width="wrap_content"
  24.             android:layout_height="wrap_content"
  25.             android:layout_weight="1"
  26.             android:layout_marginLeft="0dp"
  27.             android:layout_marginRight="0dp"
  28.             android:text="уууу" />
  29.  
  30.         <Button
  31.             android:id="@+id/button3"
  32.             android:layout_width="wrap_content"
  33.             android:layout_height="wrap_content"
  34.             android:layout_weight="1"
  35.             android:layout_marginRight="0dp"
  36.             android:text="ааа" />
  37.     </LinearLayout>
  38.    
  39.        <TextView
  40.         android:id="@+id/tvView"
  41.         android:layout_width="wrap_content"
  42.         android:layout_height="wrap_content"
  43.         android:text="сссссс" >
  44.  
  45.     </TextView>
  46.    
  47.        
  48.  <ScrollView
  49.         android:id="@+id/scroll"
  50.         android:layout_width="match_parent"
  51.         android:layout_height="match_parent" >
  52.    
  53.    
  54.     <LinearLayout
  55.         android:id="@+id/linLayout"
  56.         android:layout_width="match_parent"
  57.         android:layout_height="match_parent"
  58.         android:orientation="vertical" >
  59.     </LinearLayout>
  60.      </ScrollView>
  61.  
  62. </LinearLayout>


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 97 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB