SL4A - Scripting Layer For Android

-

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



Zaterehniy


репутация: 663
на сайте с 2006 года
сообщений: 2391

Xiaomi Redmi Note 4X

Ставрополь

Возраст - 31

#341

не могу проверить. qpython выдает ошибку. при чем каждый раз разную )) по идее должно работать.

HeaTTheatR


репутация: 91
на сайте с 2010 года
сообщений: 740

Украина, Луганск

Возраст - 36

#342

Мужики! Помогите сделать макет интерфейса (снимок на скрине). Там видно, что у меня проблемы с долбаными весами - не могу никак точно отвесить лайоутам нужный вес, так, чтобы кнопки вверху и внизу макета были одинаковыми!
Вот структура макета:


<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cloth"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<!-- Логотип HeaTPlaY -->

<View
android:id="@+id/up_bar"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2"/>

<!-- Background верхней панели кнопок -->

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_weight="0"
android:background="#cccccc">

<!-- Кнопки верхней панели -->

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_menu_agenda"
android:gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_menu_rotate"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_menu_recent_history"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_menu_search"
android:layout_gravity="center"/>

</LinearLayout>

</LinearLayout>

<!-- ListView для списка медиа контента -->

<ListView
android:id="@+id/music_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>

<!-- Background нижней панели кнопок -->

<LinearLayout
android:layout_below="@id/body"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_weight="0"
android:background="#cccccc">

<!-- Кнопки нижней панели -->

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_previous"
android:gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_rew"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_play"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_ff"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_next"
android:layout_gravity="center"/>

</LinearLayout>

</LinearLayout>

</LinearLayout>

Если есть желание, можете предложить свой вариант.
Спасибо!

Дополнительный скрин #1 (606,04 Kb)

dimy44


репутация: 515
на сайте с 2006 года
сообщений: 2433

HTC One S

Евпатория

Возраст - 48

#343

HeaTTheatR,
Юра, это точно тот макет, не перепутал? Я глянул код и скрин, код еще далек от того, что на скрине, и не ясно, как именно надо - в коде под каждую кнопку рамка серая в 1dp, на скрине вроде прсто кнопки нативные... И неясно, как они вверху и внизу одинаковые будут, ведь вверху 4 в ряд, внизу- 5. Если только зазорами между ними или по краям сыграть. А вообще имхо лучше кнопкам этим не задавать размеры wrap_content, а например 48dp, ибо размеры их пляшут и между собой, и на разных прошивках.

HeaTTheatR


репутация: 91
на сайте с 2010 года
сообщений: 740

Украина, Луганск

Возраст - 36

#344

Код тот. Просто у меня в эмуле линии в 1dp не отображаются.
-------------
добавлено в 00.47: Одинаковые, я имел в виду высоту, а то, как они растянутся, не имеет значения.

dimy44


репутация: 515
на сайте с 2006 года
сообщений: 2433

HTC One S

Евпатория

Возраст - 48

#345

 Показать / Скрыть текст


вот накидал, глянь

HeaTTheatR


репутация: 91
на сайте с 2010 года
сообщений: 740

Украина, Луганск

Возраст - 36

#346

Спасибо, Дима, я вчера просто сделал кнопки, как ты советовал, высотою 48 и задал одинаковый вес. Все получилось, как было запланировано. Попробую вечером твой пример макета, наверняка, это лучшее предложение.

dimy44


репутация: 515
на сайте с 2006 года
сообщений: 2433

HTC One S

Евпатория

Возраст - 48

#347

Наврядли у меня лучше получилось)). Ты привел макет, но еще кой-какие свойства ты видимо задавал из .py скрипта, всвязи с чем я не до конца понял конечный вид. Я не понял, зачем каждая кнопка обворачивалась в linear layout с рамкой 1дп, также почему ты пытался задать такой большой вес логотипу (там картинка планировалась?). Вобщем сделал чтоб было похоже на пример на скрине. Вобщем, вот что выдавала та разметка, что ты выложил, чтоб было понятно, почему я не въехал

Дополнительный скрин #1 (12,58 Kb)

HeaTTheatR


репутация: 91
на сайте с 2010 года
сообщений: 740

Украина, Луганск

Возраст - 36

#348

Все правильно. Пустое пространство для логотипа, который устанавливается програмно.

HeaTTheatR


репутация: 91
на сайте с 2010 года
сообщений: 740

Украина, Луганск

Возраст - 36

#349

Мужикт, еще вопрос... Прикрепил два скрина: на первом вверху экрана присутствуют логотип, полоса прогресс бара и информационное поле с текстом "Исполнитель". После клика по треку в центре экрана, в информационном поле пояыляется строка: "Название трека, имя исполнителя, нязвание альбома, стиль трека". На втором сирине видно, что конкретно у меня не получается: Информационное поле при добавлении большой строки работает, как wrap_content, а мне нужно однострочное поле. Переюзал все параметры, не получается, как следует. Ниже привожу код макета.



<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cloth"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000"
android:layout_weight="2">

<!-- Логотип HeaTPlaY -->

<View
android:id="@+id/up_bar"
android:layout_width="fill_parent"
android:layout_weight="8"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"/>

<!-- Прогресс бар трека -->

<View
android:id="@+id/pos_line"
android:layout_weight="14"
android:layout_width="fill_parent"
android:background="#cccccc"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"/>

<!-- Информационное поле -->

<TextView
android:id="@+id/track_info"
android:layout_weight="0"
android:layout_width="fill_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:background="#cccccc"
android:textColor="#000000"
android:text="Исполнитель"/>

</LinearLayout>

<!-- Background верхней панели кнопок -->

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_weight="0"
android:background="#cccccc">

<!-- Кнопки верхней панели -->

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_menu_agenda"
android:layout_height="48dp"
android:gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_menu_rotate"
android:layout_height="48dp"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_menu_recent_history"
android:layout_height="48dp"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_menu_search"
android:layout_height="48dp"
android:layout_gravity="center"/>

</LinearLayout>

</LinearLayout>

<!-- ListView для списка медиа контента -->

<ListView
android:id="@+id/music_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>

<!-- Background нижней панели кнопок -->

<LinearLayout
android:layout_below="@id/body"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_weight="0"
android:background="#cccccc">

<!-- Кнопки нижней панели -->

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_previous"
android:layout_height="48dp"
android:gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_rew"
android:layout_height="48dp"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_play"
android:layout_height="48dp"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_ff"
android:layout_height="48dp"
android:layout_gravity="center"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:background="#000000"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:layout_marginBottom="1dp"
android:layout_marginTop="1dp">

<ImageButton
android:id="@+id/ic_media_next"
android:layout_height="48dp"
android:layout_gravity="center"/>

</LinearLayout>

</LinearLayout>

</LinearLayout>





Дополнительный скрин #1 (651.99 Kb)

Дополнительный скрин #1 (655.49 Kb)

dimy44


репутация: 515
на сайте с 2006 года
сообщений: 2433

HTC One S

Евпатория

Возраст - 48

#350

В одну строку чтоб, добавь параметр android:lines="1" (в TextView)
У меня прикол: надысь карту памяти вставил- перестали запускаться мои проги на питоне. Вытащил- все норм. Хз, че за ..?


Напомнить пароль