【问题标题】:How to create a view that can be aligned form its middle?如何创建一个可以从中间对齐的视图?
【发布时间】:2016-10-15 20:02:44
【问题描述】:

我创建了一个自定义视图,它是一个垂直线下的简单文本视图。该线位于视图的中心。这是 XML 代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/vertBarLayout"
    android:layout_width="wrap_content"
    android:layout_height="match_parent">


    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/TV_date"
        android:layout_alignRight="@+id/TV_date"
        android:layout_alignEnd="@+id/TV_date"
        >

        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@drawable/vertical_line"
            android:layout_gravity="center_horizontal"/>
    </FrameLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="1337"
        android:id="@+id/TV_date"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

</RelativeLayout>

文字宽度可以改变,所以对齐的重要部分是垂直线。

如何从垂直线设置此视图的位置?

如果不能,是否有一种解决方法可以创建相同的视图?

【问题讨论】:

    标签: android view alignment


    【解决方案1】:

    希望这能解决你的问题。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/vertBarLayout"
        android:layout_width="wrap_content"
        android:layout_height="match_parent">
    
    
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/TV_date"
            android:layout_alignRight="@+id/TV_date"
            android:layout_alignEnd="@+id/TV_date"
            >
    
            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@drawable/vertical_line"
                android:layout_gravity="center_horizontal"/>
        </FrameLayout>
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="1337"
            android:id="@+id/TV_date"
            android:layout_centerInParent="true"
            />
    
    </RelativeLayout>
    

    【讨论】:

    • 不幸的是,这不起作用。如果你尝试在水平线性布局中连接一些,你会在里面只有一个视图......但这仍然是一个提示,谢谢!
    猜你喜欢
    • 2013-04-03
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 2016-04-11
    • 2021-10-07
    • 1970-01-01
    • 2022-07-03
    • 2017-04-08
    相关资源
    最近更新 更多