如何在XML的垂直内部实现水平方向

时间:2019-05-15 14:42:45

标签: android xml layout

我有一个布局文件,用于膨胀列表视图。因此,我想更改LinearLayout中TextView的显示方式。当前,显示文本“ localhost”的Textview与其他两个显示ip地址和mac地址的TextView处于水平方向。带有ip add和mac的TextView彼此垂直。 see Screenshot here.我想对其进行更改,以使显示“ localhost”的Textview垂直放置,而ip add和mac address textview彼此相邻。像这样的东西 localhost.net.com 192.168.1.2 | 00:23:ff:33:ee:21 我不想自己将localhost textview放在一行中,因为这会脱离我的代码设计。这是布局文件的代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <LinearLayout
        android:id="@+id/text_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/host_icon"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.15"
            android:padding="7dp"
            android:src="@drawable/ic_computer_white_36dp"/>

        <TextView
            android:id="@+id/host_name"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.35"
            android:textSize="18sp"
            android:text="LOCALHOST"
            android:padding="10dp" />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.45"
            android:orientation="vertical"
            android:paddingLeft="0dp">

            <TextView
                android:id="@+id/ip_address"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="17sp"
                tools:text="192.168.10.100"
                />

            <TextView
                android:id="@+id/mac_address"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="16sp"
                tools:text="aa:bb:cc:00:11:22"
                />

        </LinearLayout>

        <ImageView
            android:id="@+id/port_scan_arrow"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.10"
            android:padding="5dp"
            android:src="@drawable/ic_next_button"/>

    </LinearLayout>
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

在Android上,放大视图是一项非常繁重的操作,并且许多布局的拼合实际上并不是很有效。拼合版式时,请尝试使用ConstraintLayout。

https://developer.android.com/reference/android/support/constraint/ConstraintLayout https://developer.android.com/training/constraint-layout