У меня есть три текстовых блока и изображение, которое я хотел бы поместить в макет, как указано в эскизе. (Игнорируйте красные линии на секунду.)
(Я знаю, что качество ужасно. Если кто-то может порекомендовать мне хороший графический редактор для os x/linux, я был бы признателен (нет, не gimp !))позиционирование текстовых блоков и изображений
Моя идея состояла в том, чтобы решить эту проблему так:
- Relative Layout.
- положение второго текстового блока относительно первого.
.: например
android:layout_below=text1
android:layout_ (make it "float" to screen's right edge - not sure how to do that, yet.
- Третий блок текста по отношению к 1-й и 2-го блока.
.: например
android:layout_below=text2
android:layout_alignLeft = text1
Ok. Нет, давайте посмотрим на изображение. Это произвольный размер, поэтому я подумал, что с некоторыми выравниваниями я мог бы в него вписаться. Если вы знаете, посмотрите на красные линии из эскиза, я хочу, чтобы вы соответствовали изображению соответственно.
android:layout_alignTop = text2
android:layout_alignBottom = text2
android:layout_alignLeft = text1
Однако я не очень хорошо делать макеты и когда я пытался реализовать его, как это 4 части содержания более или менее постучали вокруг на экране, но я никогда не получал их все на место.
Ближайшим, которого я мог достичь, было это, но мне не нравилось использование жестких кодированных пределов. Боюсь, что тогда это не супер гибко.
хотя я должен ограничить размер изображения изображения, я надеялся, что окруженный текст блокирует дроидов, которые были бы достаточно умны, чтобы определить размер самостоятельно.
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="text1" />
<ImageView
android:id="image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="text1"
android:layout_marginRight="7dip"
android:layout_marginTop="5dip"
android:adjustViewBounds="true"
android:maxHeight="150sp"
android:maxWidth="150sp"
android:src="srcFile" />
<TextView
android:layout_marginTop="5dip"
android:id="text2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignTop="image"
android:layout_below="text1"
android:layout_toRightOf="image"
android:text="text2" />
<TextView
android:id="text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="image"
android:layout_marginTop="10dip"
android:text="text3" />
Так что я хотел бы услышать, что вы думаете о моем подходе и если есть что-то я мог бы улучшить, а также как на самом деле его реализации.
редактировать: Так что я хотел бы найти решение, в котором я мог бы упасть эту часть кода, потому что я боюсь, что это не достаточно гибкой:
android:maxHeight="150sp"
android:maxWidth="150sp"
действительно. работает как шарм! Спасибо за это. – yoshi