首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LinearLayout "center_vertical“

LinearLayout "center_vertical“
EN

Stack Overflow用户
提问于 2015-12-13 15:11:07
回答 5查看 87关注 0票数 0

我正在尝试将文本视图放在ListView项的中间。

因此,我创建了一个LinearLayout,它处理圆圈和其中的文本视图。

圆圈是一个形状:

代码语言:javascript
复制
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
    <solid android:color="@color/accentColor"></solid>
</shape>

我希望TextView是垂直的居中:

代码语言:javascript
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="72dp"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="16dp"
        android:gravity="center_vertical">

        <TextView
            android:id="@+id/vplan_list_item_hour"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/rectangle"
            android:gravity="center"
            android:text="1"
            android:textSize="25sp" />
    </LinearLayout>
    ...
</RelativeLayout>

它看起来就在android的“设计”选项卡上:

但是当我运行这个应用程序时,它看起来是这样的:

有没有人知道怎么解决这个问题?

EN

回答 5

Stack Overflow用户

发布于 2015-12-13 15:37:45

使用形状作为背景

可绘图中的shape_rounded.xml

代码语言:javascript
复制
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle" >

  <corners android:radius="24dp"/>

  <solid android:color="#A5A5A5" />

</shape>

布局

代码语言:javascript
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="72dp" >

<TextView
    android:id="@+id/vplan_list_item_hour"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@drawable/shape_rounded"
    android:gravity="center"
    android:text="1"
    android:layout_margin="16dp"
    android:textSize="25sp" />
</RelativeLayout>
票数 0
EN

Stack Overflow用户

发布于 2015-12-13 15:55:01

你试过用RelativeLayout来做吗?

代码语言:javascript
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="72dp">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="16dp">

        <TextView
            android:id="@+id/vplan_list_item_hour"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_centerVertical="true"
            android:background="@drawable/rectangle"
            android:gravity="center"
            android:text="1"
            android:textSize="25sp" />

        ...

    </RelativeLayout>

</RelativeLayout>
票数 0
EN

Stack Overflow用户

发布于 2015-12-14 10:41:33

我试着简化你的布局。我在Genymotion (包括Android4.4)中测试了它--它的功能很有魅力。试试看。

代码语言:javascript
复制
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="72dp">
    <TextView
        android:id="@+id/vplan_list_item_hour"
        android:layout_centerVertical="true"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginStart="16dp"
        android:background="@drawable/shape_rounded"
        android:gravity="center"
        android:textSize="25sp"
        android:text="1" />
</RelativeLayout>

希望,这有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34252561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档