Вопрос по android – Android: линейная компоновка новой линии

18

Я создал LinearLayout, как показано ниже с TextView. Текст является переменным. Если элементы становятся больше ширины макета, они становятся неприятными. Я хочу, чтобы текст переместился на новую строку, которую можно было бы сделать при написании книги. Это возможно?

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

<TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="xx"
            android:textAppearance="?android:attr/textAppearanceSmall" />

<EditText ...>

<TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="xx"
            android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>

редактировать

как это:

textview1text edittext textview2 textview2continuesin2ndrow

не так:

textview1text edittext textview2text textview1cont
Я не уверен, что он подходит для вашего макета, но вы, вероятно, можете решить проблему, которую вы описываете, установив (например, равные) веса для трех элементов вLinearLayout (и их ширина до0dp). MH.

Ваш Ответ

3   ответа
1

Попробуйте что-то вроде этого

<?xml version="1.0" encoding="utf-8"?>
<android.widget.LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.sushrut.recipedemo.MainActivity">

    <android.widget.LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="40dp"
        android:layout_marginTop="40dp"
        android:orientation="horizontal"
        tools:context="com.example.sushrut.recipedemo.MainActivity">

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/cameraActionButton"
            android:layout_width="68dp"
            android:layout_height="68dp"
            android:layout_gravity="center"
            android:layout_marginBottom="20dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"

            app:fabSize="normal"
            app:srcCompat="@android:drawable/ic_menu_camera" />

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/choiceActionBtn"
            android:layout_width="68dp"
            android:layout_height="68dp"
            android:layout_gravity="center"
            android:layout_marginBottom="20dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"

            app:fabSize="normal"
            app:srcCompat="@android:drawable/ic_input_add" />

    </android.widget.LinearLayout>

    <android.widget.LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal"
        tools:context="com.example.sushrut.recipedemo.MainActivity">

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/addToLibraryBtn"
            android:layout_width="68dp"
            android:layout_height="68dp"
            android:layout_gravity="center"
            android:layout_marginBottom="20dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:clickable="true"
            app:fabSize="normal"
            app:srcCompat="@android:drawable/ic_menu_save" />

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/recipeBrowseBtn"
            android:layout_width="68dp"
            android:layout_height="68dp"
            android:layout_gravity="center"
            android:layout_marginBottom="20dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:clickable="true"
            app:fabSize="normal"
            app:srcCompat="@android:drawable/btn_plus" />
    </android.widget.LinearLayout>

</android.widget.LinearLayout>
18

Попробуйте что-то вроде ...

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent" >
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="xx"
            android:textAppearance="?android:attr/textAppearanceSmall" />
        <EditText ...>
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:text="xx"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>
</LinearLayout>
Попробуйте использовать TableLayout. Вам просто нужно использовать TableRow.
нет ли способа добиться этого без вложения LinearLayouts?
8

ты можешь использоватьandroid:orientation="vertical" в пределах linearlayout, чтобы получить элементы в разных строках

Этот метод позволяет использовать только один элемент в строке.
... и, следовательно, нет ответа на вопрос

Похожие вопросы