首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于自定义ListView的以RelativeLayout为中心的安卓布局

用于自定义ListView的以RelativeLayout为中心的安卓布局
EN

Stack Overflow用户
提问于 2009-09-30 17:28:11
回答 5查看 38.9K关注 0票数 15

这件事真让我抓狂。一些背景知识。我有一个项目列表,所有项目旁边都有复选框。取消选中复选框时,将出现一个按钮,允许您从列表中删除该项。这看起来似乎是倒退的,但我们只希望“选定”的项目有资格进行进一步的处理,等等。这是我的布局:

代码语言:javascript
复制
<RelativeLayout android:id="@+id/rlBlahBlah" 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:minHeight="?android:attr/listPreferredItemHeight"
                xmlns:android="http://schemas.android.com/apk/res/android">
  <CheckBox android:text="" 
            android:id="@+id/cbDeleteItem" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:focusable="false"
            />
  <TextView android:text="" 
            android:id="@+id/tvItemText" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:textSize="14dip"
            android:paddingLeft="3dip"
            android:paddingRight="3dip"
            android:paddingTop="13dip"
            android:gravity="fill_vertical"
            android:layout_toRightOf="@id/cbDeleteItem"
            />
  <Button android:layout_height="wrap_content" 
          android:id="@+id/btnDelete" 
          android:text="Delete" 
          android:layout_width="wrap_content"
          android:layout_alignParentRight="true"
          android:gravity="center_vertical"
          android:focusable="false"
          />
</RelativeLayout>

我不能让这3个项目在我的行中垂直居中,以挽救我的生命。layout_gravitygravitylayout_centerVertical,都不起作用。我确定我的问题是一些微小的设置,但我真的对此束手无策。

编辑:我知道文本视图是"fill_vertical",这是我正在尝试的一些随机的东西。

EN

回答 5

Stack Overflow用户

发布于 2010-12-17 04:25:19

此属性适用于使用RelativeLayoutButton居中的情况

代码语言:javascript
复制
android:layout_centerInParent="true"

请参阅此帖子:Can you center a Button in RelativeLayout?

票数 59
EN

Stack Overflow用户

发布于 2010-12-15 03:41:39

在使用RelativeLayout的时候,我对重力和layout_gravity都一无所知。

但是我把android:layout_centerVertical="true"放在我的RelativeLayout的子目录中,所以如果你需要的话,你可以保留它。

票数 16
EN

Stack Overflow用户

发布于 2009-10-01 13:19:40

这是一个布局,它最终实现了我想要的效果。一旦我发现RelativeLayout忽略了layout_gravity属性,我就抛弃了它(当然,现在我找不到帖子了)。无论哪种方式,嵌套的LinearLayouts都为我解决了这个问题:

代码语言:javascript
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:id="@+id/llBlahBlahRowMain"
    android:padding="6dip">
    <CheckBox android:text="" 
              android:id="@+id/cbDeleteItem" 
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:focusable="false"
              />
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="center_vertical"
        android:layout_height="wrap_content">
         <TextView 
            android:text="blah blah dynamically replaced text" 
            android:id="@+id/tvItemText" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_weight="1"
            android:textSize="14dip"
            android:paddingLeft="3dip"
            android:layout_gravity="center_vertical"
            />
    </LinearLayout>
    <Button android:layout_width="wrap_content"
          android:layout_height="wrap_content" 
          android:id="@+id/btnDelete" 
          android:text="Delete" 
          android:layout_gravity="center_vertical" 
          android:focusable="false"
          />
</LinearLayout>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1499555

复制
相关文章

相似问题

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