0

Я собираюсь использовать это изображение для фона из пяти кнопок, но я не знаю, как достичь этой цели, должен ли я разбить это изображение на пять частей? как я могу убедиться, что он может корректно отображаться после разделения.Как использовать одно фоновое изображение для пяти кнопок в Android?

Если я не хочу разделить изображение, можно ли добавить пять разных onClickListener в разные области ImageView? не

enter image description here

+0

я бы просто проверить, где пользователь нажимает с OnTouchListener. – king

ответ

1

Вы можете достичь этого путем установки фона ImageButtons к transparent и сохраняя изображение в качестве фона вид контейнера, как RelativeLayout или любой другой макет.

android:background="@android:color/transparent" установит фон вашего ImageButtons прозрачным. Вот пример кода, который я использую для таких ситуаций

<RelativeLayout 
      android:layout_height="@dimen/widthHeightCenterDial" 
      android:layout_width="@dimen/widthHeightCenterDial" 
      android:background="@drawable/my_background" 
      android:id="@+id/frameLayout"> 


      <ImageButton 
       android:layout_width="@dimen/widthHeightCenterDial" 
       android:layout_height="@dimen/widthHeightCenterDial" 
       android:id="@+id/cdSureButn" 
       android:layout_centerVertical="true" 
       android:background="@android:color/transparent" 
       android:layout_centerHorizontal="true" 
       android:layout_gravity="center" 
       android:textAlignment="center" /> 
      <ImageButton 
       android:layout_width="@dimen/widthHeightCenterDial" 
       android:layout_height="@dimen/widthHeightCenterDial" 
       android:id="@+id/status_o_ring" 
       android:layout_centerVertical="true" 
       android:background="@android:color/transparent" 
       android:layout_centerHorizontal="true" 
       android:layout_gravity="center" 
       android:visibility="visible" 
       android:textAlignment="center" 
       android:contentDescription="status orange ring" /> 

      .... 


    </RelativeLayout> 

Я использую этот подход, чтобы добиться чего-то вроде этого

enter image description here

+0

Как вы выравниваете эти 8 кнопок по кругу в RelativeLayout? Вы могли бы показать полный пример xml? –

+1

использовали 'RelativeLayout' и задавали высоту и ширину' wrap_content'. Помещенный образ циферблата внутри него вместе с другим 'RelativeLayout' с высотой и шириной, установленным на' match_parent'. Помещенные кнопки в этом. устанавливая позиции относительно друг друга. Отлично работает на всех экранах – dmSherazi

0

Нет, вы не можете установить пять onClickListeners с точки зрения изображения, что вам нужно сделать, это сделать это округлый вид и поставить в ней пять imageviews каждый держит соответствующий значок, а затем установить для каждого ImageView и onClickListener, для diong это округлый вид использовать некоторые методы компоновки, как и ..

Смежные вопросы