2016-01-22 6 views
-4

В чем принципиальное отличие того, как выкладываются представления в Android и iOS? Я создал пару приложений на Android с представлениями, разработанными исключительно в XML, но я не встречал аналога Android с механизмами рисования на сетке, которые я так часто использую в iOS. При создании пользовательского представления в Android я обычно просто программно создавал LinearLayout или то, что у вас есть, а затем создавал необходимые компоненты и вуила. Тем не менее, я получил привыкли к использованию программного чертежу просмотров/вида контроллеров в IOS, которые, как правило, влечет за собой некоторую логику, как этотAndroid Views vs. iOS Views

let profileFrame = CGRectMake(0, 48, 80, 80) 
    profileImageView = UIImageView.init(frame: profileFrame) 
    self.addSubview(profileImageView) 
    self.bringSubviewToFront(profileImageView) 

Так существует ли аналог такого рода вид кадра создания/размещения в супервизорах в Android? Или XML-характер макетов Android предотвращает подобные возможности?

+1

«При создании пользовательского представления в Android я обычно просто программно создавал LinearLayout или что у вас есть, а затем создавал необходимые компоненты и вуила». - Итак, вы программно создали макеты в Android, но вы спрашиваете, как программно создавать макеты в Android? –

+1

Как я понимаю, вы хотите получить эквивалент 'frame' UIView от iOS до Android, не так ли? Потому что вы сомневаетесь, довольно неясно, я действительно не понимаю. Есть ли [android.graphics.Rect Class] (http://developer.android.com/reference/android/graphics/Rect.html#Rect (int, int, int, int)) в Android, что вы ищете? – Fllo

+0

Я спрашиваю, как программно рисовать представление в природе, подобной iOS, где вы добавляете subviews в супервизор, а не добавляете элементы XML. Я не спрашивал, как программно создавать макеты в Android ... есть три предложения, которые заканчиваются вопросительными знаками в моем сообщении «В чем принципиальное отличие между представлениями в Android и iOS? ... Так что существует аналог создания или размещения этого вида в супервизорах в Android? Или характер XML-макетов Android не предотвращает подобные возможности? " ни один из которых не задает этот вопрос. – Coach

ответ

1

Что вы хотите, это AbsoluteLayout. Кроме того, вы, вероятно, не хотите этого делать. Обратите внимание, что существует очень мало веских оснований для его использования и по многим причинам. Основной из них - размеры экрана и различия в плотности между устройствами, что практически невозможно получить право без большого количества дисциплины. Причина, по которой он работает для iOS, заключается в том, что ограниченное количество размеров и плотности устройств делает UI намного проще, и ОС ОС может справиться с этим. Не здесь, вам придется сделать это сами.

Вы также можете программно создавать LinearLayouts, RelativeLayouts и т. Д. В коде. Его просто не рекомендуется - гораздо труднее быстро читать и редактировать. Бывают ситуации, когда это полезно/необходимо.