Можно ли создать такую ​​раскладку в Android..?

Я хочу создать макет ресурса XML, как в традиционных блогах, как показано на рисунке ниже. Он должен содержать изображение с правой стороны, а остальная часть области (объединяющая левую часть изображения и всю область под изображением) должна быть заполнена текстом.

Есть идеи?

2 ответа

Решение

Вы ищете FlowTextView

образ

Вот фрагмент

<uk.co.deanwild.flowtextview.FlowTextView
    android:id="@+id/ftv"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:padding="10dip"
            android:src="@drawable/android"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginTop="400dip"
            android:padding="10dip"
            android:src="@drawable/android2"/>
</uk.co.deanwild.flowtextview.FlowTextView>

и в коде

FlowTextView flowTextView = (FlowTextView) findViewById(R.id.ftv);
Spanned html = Html.fromHtml("<html>Your html goes here....");
flowTextView.setText(html);

Добавьте jitpack к вашему build.gradle в конце репозитория:

repositories {
        // ...
        maven { url "https://jitpack.io" }
    }

Добавьте зависимость:

compile 'com.github.deano2390:FlowTextView:2.0.5'

Тогда вы захотите освежить в создании пользовательских видов.

Один TextView не сможет сделать это за вас, поскольку его рабочее пространство прямоугольное.

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

Я рекомендую начать с того, что android.widget.TextView делает для рисования текста и изменения его в соответствии с вашими потребностями.

Или вы можете найти пользовательский вид, который кто-то другой уже написал и разбил на части, который вы можете использовать.

Другие вопросы по тегам