首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android +你会推荐哪种布局?

Android +你会推荐哪种布局?
EN

Stack Overflow用户
提问于 2011-09-28 00:01:33
回答 3查看 351关注 0票数 2

我正在为ListView中使用的行布局,我需要一点帮助。行将如下所示:

下面是我到目前为止所做的,突出显示的bg没有显示,文本不会对齐中心(坚持到顶部)。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/rl0"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:padding="0dp"
  android:layout_margin="0dp"
  android:background="@color/grey">
  <!-- shine -->
  <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ImageView
      android:id="@+id/imgShine"
      android:background="@color/shine"
      android:layout_height="0dp"
      android:layout_width="fill_parent"
      android:layout_weight="1" />
    <View
      android:layout_height="0dp"
      android:layout_width="fill_parent"
      android:layout_weight="1" />
  </LinearLayout>
  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:id="@+id/ll"
    android:layout_gravity="center_vertical">
    <!-- cal graphic -->
    <RelativeLayout
      android:id="@+id/rl1"
      android:layout_width="wrap_content"
      android:layout_height="match_parent"
      android:padding="10dp">
      <!-- cal bg -->
      <ImageView
        android:id="@+id/imageView1"
        android:src="@drawable/cal"
        android:layout_width="60dp"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true" />
      <!-- month -->
      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tvMonth"
        android:textSize="11sp"
        android:layout_marginLeft="11dp"
        android:layout_marginTop="10dp"
        android:textColor="@drawable/list_cal_selector" />
      <!-- day -->
      <TextView
        android:id="@+id/tvDay"
        android:textSize="23sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvMonth"
        android:layout_marginTop="2dp"
        android:layout_centerHorizontal="true"
        android:textColor="@drawable/list_cal_selector" />
    </RelativeLayout>
    <!-- text and button graphic -->
    <RelativeLayout
      android:id="@+id/rl2"
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:gravity="center_vertical"
      android:layout_gravity="center_vertical">
      <!-- team name -->
      <TextView
        android:id="@+id/tvTeam"
        android:textSize="23dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingBottom="0dp"
        android:textColor="@drawable/list_text_selector" />
      <TextView
        android:id="@+id/tvTime"
        android:textSize="12sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvTeam"
        android:textColor="@drawable/list_text_selector" />
      <TextView
        android:id="@+id/tvStation"
        android:textSize="12sp"
        android:paddingLeft="12dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvTeam"
        android:layout_toRightOf="@+id/tvTime"
        android:textColor="@drawable/list_text_selector" />
      <!-- add button -->
      <ImageView
        android:id="@+id/imgAddBtn"
        android:src="@drawable/btn"
        android:layout_height="wrap_content"
        android:layout_width="60dp"
        android:scaleType="fitCenter"
        android:layout_centerVertical="true"
        android:adjustViewBounds="true"
        android:layout_alignParentRight="true"
        android:padding="10dp" />
      <!-- divider -->
      <ImageView
        android:id="@+id/imgDivider"
        android:src="@drawable/divider"
        android:layout_height="fill_parent"
        android:layout_width="2dp"
        android:layout_toLeftOf="@id/imgAddBtn"
        android:cropToPadding="false" />
    </RelativeLayout>
  </LinearLayout>
</FrameLayout>
EN

回答 3

Stack Overflow用户

发布于 2011-09-28 00:26:05

我只会使用一个RelativeLayout。它将避免使用各种布局,并且更容易将组件放置在屏幕上。

编辑:这个解决方案有效,但我不知道它是不是最好的:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:orientation="vertical"  >

        <View
            android:layout_width="1dp"
            android:layout_height="0dp"
            android:layout_weight="0.25"/>

        <ImageView
            android:layout_weight="0.5"
            android:layout_height="0dp"
            android:layout_width="50dp"
            android:background="#dedede"/>

        <View
            android:layout_width="1dp"
            android:layout_height="0dp"
            android:layout_weight="0.25"/>
    </LinearLayout>

    <!-- 
    ...
     -->
</RelativeLayout>
票数 1
EN

Stack Overflow用户

发布于 2011-09-28 00:36:51

看看这篇教程,你可以选择哪个布局是最好的。每种布局都有自己的优点和缺点。只有一个布局在安卓中不是最好的,但在大多数情况下Relative layout很容易使用,因为它可以轻松地移动到UI的任何地方。

就像你的比赛问题,教程

http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html

你可以在developer.android.con中看到更多的布局。这必须通过更简单的方式来学习。这里有一些Best links,你可以看到各种各样的布局。

http://developer.android.com/resources/tutorials/views/hello-relativelayout.html

http://developer.android.com/guide/topics/ui/layout-objects.html

http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-relative-layouts/

http://www.learn-android.com/2010/01/05/android-layout-tutorial/

票数 0
EN

Stack Overflow用户

发布于 2013-09-24 21:27:24

看看这个

代码语言:javascript
运行
复制
![<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="35dp"
    android:orientation="horizontal" >

    <ImageView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:scaleType="centerInside"
        android:src="@drawable/ic_launcher" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_weight="4"
        android:orientation="vertical" >

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Row 1" />

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

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:text="Row 2" />

            <TextView
                android:layout_marginLeft="10dp"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="Row 3" />
        </LinearLayout>
    </LinearLayout>

    <View android:layout_height="match_parent"
        android:layout_width="2dp"
        android:background="#fff"/>
    <ImageView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:scaleType="centerInside"
        android:src="@drawable/ic_launcher" />

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

https://stackoverflow.com/questions/7572180

复制
相关文章

相似问题

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