Есть ли способ отключить эту функцию?
Не думаю, что вы найдете удовлетворительное.
Вы действительно не объяснили, что такое «линии выравнивания», поэтому мы вынуждены угадывать. Я предполагаю, что «линии выравнивания» связаны с тем, что вы работаете с контейнером RelativeLayout
. Цитирование the JavaDocs for RelativeLayout
, RelativeLayout
является:
раскладки где позиции детей могут быть описаны по отношению друг к другу или к родителю.
И, цитируя the guide for RelativeLayout
:
RelativeLayout вид группы, которая отображает дочерние представления в относительных положениях. Позиция каждого вида может быть указана как относительно элементов брака (например, слева или ниже другого вида) или в положениях относительно родительской области RelativeLayout (например, выровненной до нижней, слева от центра).
Следовательно, существуют «линии выравнивания», которые заменяются конструктором графического интерфейса, поскольку они являются точкой, стоящей за контейнером RelativeLayout
.
Конечно, вы можете сменить контейнер, с которым работаете, что-то еще.
Однако, в целом, Android не очень хорошо поддерживает вашу заявленную цель («Я просто хочу размещать кнопки, где бы я ни хотел их поместить в интерфейсе GUI»). Так же, как вы не делаете этого в веб-разработке, вы не делаете этого в разработке Android и по той же причине: вам нужно учитывать разные размеры (размер окна браузера для Интернета, размер экрана для Android). RelativeLayout
, LinearLayout
, TableLayout
и GridLayout
предназначены для того, чтобы вы указали виджеты, а также правила для позиционирования и калибровки, чтобы вы могли проектировать пользовательский интерфейс, который будет учитывать разницу между экраном размером 3 дюйма и 4,5 дюйма. Это сродни использованию HTML-тегов и правил CSS для определения контента и его позиционирования на веб-странице. Eclipse-drag-and-drop GUI-конструктор для Android может помочь вам в определении этих правил, поскольку вы, возможно, видите свои «линии выравнивания» для RelativeLayout
.
Большое спасибо за это объяснение.Я действительно новичок в разработке Android, как правило, я разрабатываю для iOS, где очень просто просто перетащить что угодно, где угодно. Я надеялся, что это возможно для Android. Я уже использую RelativeLayout, но я просто не могу понять это, когда я устанавливаю позицию одной кнопки по отношению к некоторым другим кнопкам, а затем, когда я пытаюсь поместить их, он перемещает первый, и я просто могу Решить это. Если вы знаете какой-либо учебник, в котором объясняется, как это сделать должным образом, это может мне очень помочь. –
@AlexFish: «Обычно я разрабатываю для iOS, где очень просто просто перетащить что угодно, где бы вы ни хотели» - я не разработчик iOS, но я был бы ошеломлен и разочарован, если Apple HIG позволит вам «перетаскивать и бросайте что угодно, где хотите », даже если инструменты поддерживают его. «Если вы знаете какой-либо учебник, в котором объясняется, как это сделать, это может мне очень помочь» - вам нужно узнать, как работают контейнеры (например, «RelativeLayout», «LinearLayout») и как создать графический интерфейс с помощью этих контейнеров , Перетаскивание - это средство для достижения цели, а не самоцель. – CommonsWare
@AlexFish: С точки зрения того, где научиться использовать контейнеры и т. Д., Онлайн-документация, начиная с http://developer.android.com/guide/topics/ui/overview.html, к сожалению, слаба, но это существует. Кроме того, ваши основные ресурсы - книги, блоги, StackOverflow и т. Д. – CommonsWare