Как разместить прозрачные кнопки над изображением относительно?

Я ищу способ в Android, как разместить несколько прозрачных кнопок поверх (фонового) изображения, чтобы у меня был хороший контроль над расположением кнопок, и они оставались там, где они должны были быть, также если экран намного больше.

Как вы можете себе представить, изображение содержит также изображение кнопки...

Лучше всего было бы, если бы я мог позиционировать кнопки, используя проценты, но, к сожалению, это невозможно в Android.

Это моя текущая база кода:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/art_main_background" >

В качестве альтернативы я мог бы также извлечь изображение кнопки и поместить его поверх изображения, но это привело бы к той же проблеме: как я могу контролировать положение, если кнопки расположены не в «линейном» порядке, т. е. скорее в случайном порядке? .


person Wolkenjaeger    schedule 21.01.2011    source источник


Ответы (1)


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

Вы пытаетесь сделать одно изображение в качестве элементов управления и просто сопоставить кнопки с определенными позициями? Учитывая количество вариаций разрешений и размеров экрана, это просто плохая идея для Android. Попробуйте переосмыслить свой макет, чтобы сделать его более гибким. Если вам нужно абсолютное позиционирование, вы можете использовать FrameLayout и просто указать левое и верхнее поля для их позиционирования, но имейте в виду, что то, что может идеально соответствовать одному разрешению, не обязательно будет правильно соответствовать другому.

Если вы можете опубликовать образец того, что вы имеете в виду, мы могли бы дать вам некоторые идеи.

person Kevin Coppock    schedule 21.01.2011