Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
#1

Как правильно размещать элементы View на Layout - Программирование Android

16.11.2012, 10:15. Просмотров 1522. Ответов 2
Метки нет (Все метки)

У меня есть небольшое приложение в виде виджета. На виджете есть ImageView и три TextView. Т.е. на заднем фоне как бы картинка а на ней три строки, сверху и снизу маленький текст, а по середине большой. Все тесты проводил на своем смарте, но у меня стоит лончер Apex и на нем сетку я вяставил как 5х4. Все разместил с использованием Margins, все получилось красиво, но как оказалось на смартах со стандартным лончером или просто с другим весь текст разъехался куда глаза глядят. Как делать что бы везде разметка на виджете не зависела от всяких там настроек лончера? Спасибо. Разметка виджета представлена ниже.

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?xml version="1.0" encoding="utf-8"?>
 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/widget_rl_1x1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        tools:context=".WidgetActivity_1x1">
 
        <ImageView
            android:id="@+id/widget_imageview_1x1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clickable="true"
            android:contentDescription="@string/empty"
            android:focusable="true" />
 
        <TextView
            android:id="@+id/line_info_1x1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dp"
            android:layout_marginRight="2dp"
            android:layout_marginTop="15dp"
            android:gravity="center"
            android:maxHeight="62dp"
            android:shadowColor="#ffffff"
            android:shadowDx="1"
            android:shadowDy="1"
            android:shadowRadius="1"
            android:text="@string/empty"
            android:textColor="#000000"
            android:textSize="10dp" />
 
        <TextView
            android:id="@+id/line_day_1x1"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:layout_marginLeft="2dp"
            android:layout_marginRight="2dp"
            android:layout_marginTop="31dp"
            android:gravity="center|center_vertical"
            android:maxHeight="62dp"
            android:shadowColor="#ffffff"
            android:shadowDx="1"
            android:shadowDy="1"
            android:shadowRadius="1"
            android:text="@string/empty"
            android:textColor="#A40000"
            android:textSize="26dp"
            android:textStyle="bold" />
 
        <TextView
            android:id="@+id/line_info_bottom_1x1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dp"
            android:layout_marginRight="2dp"
            android:layout_marginTop="62dp"
            android:gravity="center"
            android:maxHeight="62dp"
            android:shadowColor="#ffffff"
            android:shadowDx="1"
            android:shadowDy="1"
            android:shadowRadius="1"
            android:text="@string/empty"
            android:textColor="#000000"
            android:textSize="10dp" />
 
        <TextView
            android:id="@+id/line_day_1x1_small"
            android:layout_width="match_parent"
            android:layout_height="28dp"
            android:layout_marginLeft="2dp"
            android:layout_marginRight="2dp"
            android:layout_marginTop="33dp"
            android:gravity="center|center_vertical"
            android:maxHeight="62dp"
            android:shadowColor="#ffffff"
            android:shadowDx="1"
            android:shadowDy="1"
            android:shadowRadius="1"
            android:text="@string/empty"
            android:textColor="#A40000"
            android:textSize="20dp"
            android:textStyle="bold" />
 
    </RelativeLayout>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 10:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно размещать элементы View на Layout (Программирование Android):

На какой тип Layout добавление View идёт быстрее - Программирование Android
Если я хочу разместить 3 View в Layoutе. То в каком Layoutе View разместить быстрее(ну скорость добавления View выше) в LinearLayout в...

Как перебрать все дочерние элементы некого Layout - Программирование Android
Всем добрый день. Вопрос задан в названии темы: имеется основной слой (LinearLayout), в нем несколько других слоёв. Вот с ними мне и...

Как обрабатывать не только View элементы - Программирование Android
ImageView btn1 = (ImageView)findViewById(R.drawable.gorod_cveta_button1); final Animation anim1 =...

Как выбрать View-элементы на intellij idea? - Программирование Android
открыл res &gt; layout &gt; main.xml и не могу найти form widgets на intellij idea надо переташить TextView, Button, checkbox и тд

Как менять view элементы со временем, некоторый промежуток времени - Программирование Android
Есть две картинки, и надо, чтобы при включении программы(например), на форме пару раз переключались картинки (то одна, то другая) и потом...

Анимированный дизайн смены Layout или просто выдвигаемый layout - Программирование Android
Ну, думаю тут и так всё понятно. Я просто не знаю, какие ключевые слова вводить в гугл, всё что попадается это Drawer А мне нужнен просто...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
16.11.2012, 11:04 #2
http://developer.android.com/trainin...een/index.html
Не стоит делать разметку приложения под одно конкретное устройство. Отдельные вещи можно фиксировать, использовать отдельные разметки для различных размеров экрана, пользоваться параметром weight
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
16.11.2012, 12:56  [ТС] #3
Разобрался, все получилось как надо. Спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 12:56
Привет! Вот еще темы с ответами:

Не хочет работать в layout, но включается в layout-land - Программирование Android
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так : &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout...

At android.widget.LinearLayout.setChildFrame Layout в Layout-те - Программирование Android
Нужен совет бывалых. У меня есть активити которое запускается с мейн активити, на нем лежит Layout (горизонтальный) в котором 2й...

Android Studio: не пойму как размещать layouts и виджеты - Программирование Android
Начинаю знакомство с программированием android в Android Studio. Начинаются проблемы с созданием макета. Я понял, что группы виджетов,...

В чем разница (View view) и (View v) - Программирование Android
Я только начинаю изучать программирование под андроид (до этого вобще программированием не занимался), по гуглу удалось найти только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru