Я очень новичок в этом форуме и действительно нуждаюсь в помощи в чем-то, что я застрял во время разработки приложения.Как выровнять кнопку, соответствующую фоновому изображению для нескольких экранов?
Это изображение я использую в качестве моего фона (я назвал его SampleBG в XML): https://i.gyazo.com/946507c2690c8170b54a1ace752906bd.png
В принципе, это то, что я хочу, чтобы мой дизайн выглядеть следующим образом: https://i.gyazo.com/896e29846dfd9e4bc9ab15ca39f9a796.png
И для меньшие устройства, он автоматически изменяет размер и выглядит следующим образом: [i.gyazo.com/f4278339cc8f246187c011474796a12c.png]
и когда я переключаюсь на планшетном устройстве, она автоматически выглядит следующим образом: [i.gyazo.com/1b0e233a0b1731148664e0ac78a05f08.png]
И выше, это именно то, что я хочу, чтобы он выглядел. Деревянные знаки находятся в том же положении для всех размеров ...
Но проблема: Я хочу деревянные знаки, чтобы быть интерактивными, потому что они предназначены для кнопки.
Итак, я попытался использовать виджет кнопки и сделал его прозрачным и поместил его над деревянными знаками ... он работал, но он работал только на тот конкретный размер, для которого я его сконструировал (для его разработки был разработан специально для Nexus 5) .... Однако, когда я переключился на макет Nexus One или макет Nexus 9 и т. Д., Кнопки не были правильно размещены над деревянными знаками и, таким образом, не работали.
Я хочу, чтобы деревянные знаки можно было щелкнуть, а кнопки фиксировались знаками для всех размеров устройства и т. Д., И в то же время.
Я бы предпочел xml-решение, но программное решение тоже приятно.
Вот код макета прямо сейчас, это просто используя фоновое изображение прямо сейчас ....
`<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/sampleBG">
</RelativeLayout>`
Примечание: Я попытался с помощью изображение двери, как только фон, а затем добавить деревянные знаки вручную, используя виджеты ImageButton, но деревянные знаки были по-разному размещены для разных экранов, и это выглядело странно, поэтому я установил деревянные значки на фоне (в Photoshop) .. теперь я просто хочу, чтобы знаки были доступны для кликов.
Опубликуйте свой код макета. –
' Xml version =" 1.0 "encoding =" utf-8 "?>
FormulatorX
Одна вещь, которую вы могли бы сделать, это нарезать фоновое изображение таким образом, у вас есть кнопки в виде отдельных изображений. Затем вы можете создать свой макет 'Android' с 3 кнопками и назначить изображения, которые вы нарезали на кнопки в качестве фона. Это означает, что вам нужно иметь фоновое изображение и нарезанные кнопки в 5 разных разрешениях в соответствии с инструкциями, поэтому они соответствуют размерам «hdpi, mdpi, xhdpi, xxhdpi и xxxhdpi». Таким образом, андроид будет выбирать правильные размеры в зависимости от размера устройства. Вы также можете использовать «RelativeLayout» для выравнивания виджетов. – Apostrofix