ListView中Item布局示例二

第一种方式如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- 方式一 -->
<!--
 需求:在ListView显示时每个Item的上下左右都有一定的空白距离.尤其是在垂直方向的
 每个Item保持了一定的距离.所以可以通过对ListView的Item布局设置整体的margin来实现
-->

<!--
 错误的解决方式:
 在最外层LinearLayout又嵌套了一层LinearLayout.然后在新嵌套的
 LinearLayout中设置margin,这样是没有效果的.
 因为它本来就是最外层了
 该问题可参见:http://blog.csdn.net/lfdfhl/article/details/8631087
-->

<!--
在该例子中主要使用了android:layout_weight="6"这个属性,参见:
http://blog.csdn.net/lfdfhl/article/details/8230049
所以会优先计算 android:id="@+id/news_item_arrow"控件
的大小.在给其赋予了wrap_content的宽度后才将余下的宽度赋予
android:id="@+id/linearLayout"控件
-->

<!--
 正确的解决方式:
 在最外层LinearLayout又嵌套了一层RelativeLayout,使之成为最外层.
 然后在原最外层LinearLayout中设置margin.代码如下:
-->

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dip"
        android:background="@android:color/white"
        android:orientation="horizontal"
        android:paddingTop="10dip" >

        <LinearLayout
            android:id="@+id/linearLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="6"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/news_item_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:paddingLeft="5dip"
                android:text="2013/03/01"
                android:textSize="10sp" >
            </TextView>

            <TextView
                android:id="@+id/news_item_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:maxLines="4"
                android:paddingLeft="20dip"
                android:textSize="20sp" >
            </TextView>
        </LinearLayout>

        <ImageView
            android:id="@+id/news_item_arrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip"
            android:layout_weight="1"
            android:src="@drawable/arrow" />
    </LinearLayout>

</RelativeLayout>

第二种方式如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- 方式二 -->
<!--
在控件android:id="@+id/news_item_content"
中设置android:paddingLeft="20dip"比设置
android:layout_marginLeft=""的效果要好得多
 -->
<!--
在控件android:id="@+id/news_item_arrow"
中设置
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
从而使其垂直居中.这样的处理方式比方式(一)
中要好许多.当然这里采用了相对布局
 -->
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent"
    >

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="20dip"
        android:background="@android:color/black" >

        <TextView
            android:id="@+id/news_item_date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="8dip"
            android:paddingLeft="5dip"
            android:text="2013/03/01"
            android:textSize="10sp" >
        </TextView>

        <TextView
            android:id="@+id/news_item_content"
            android:layout_width="240dip"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dip"
            android:maxLines="4"
            android:paddingBottom="10dip"
            android:paddingLeft="20dip"
            android:textSize="20sp" >
        </TextView>

        <ImageView
            android:id="@+id/news_item_arrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="10dip"
            android:src="@drawable/arrow" />
    </RelativeLayout>

</RelativeLayout>

时间: 2024-09-02 22:06:26

ListView中Item布局示例二的相关文章

ListView中Item布局示例一

listview_item.xml如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_co

微博-android,Listview中item点击变色冲突

问题描述 android,Listview中item点击变色冲突 我想要像微博一样,当点击评论.转发.赞3个按钮的时候,只有按钮变色. 点击其他地方时,整个item都变色. 然后我为最外层的布局和"评论.点赞.转发"3个按钮的布局都设置了selector,但结果是无论点击item的哪个地方,都是整个布局都变色.怎么修改都不行,不知是哪里出了问题 <selector xmlns:android="http://schemas.android.com/apk/res/and

ist iew-跪求:Android在listview中item没有type,如何控制展示不同类型的图片

问题描述 跪求:Android在listview中item没有type,如何控制展示不同类型的图片 在一个界面中,一个接口有很多的图片,一张大图,下面4张小图,在接着两个大图,后面两张小图,就这个模式展示,想不到用什么方法. 解决方案 没理解你这是什么样的布局,想要展示成什么样. 解决方案二: 这个不是在布局文件里布局好的,然后在代码里设置好,最后填充进listview的吗? 如果回答对您有帮助,请采纳 解决方案三: 确实没有理解到你想要做成什么效果 解决方案四: 如果没理解错的话你可以用瀑布流

listview中item下拉出现空指针和outofindex问题 求大神们指点

问题描述 listview中item下拉出现空指针和outofindex问题 求大神们指点 问题环境:写了一个listview,其中有7条数据,一开始能在一个屏幕内显示出来,但我对item添加了点击事件,点击后会在自己下方出现一个小操作界面,再次点击则收起,因为这个小界面layout我是写的visible = gone ,点击后设置visible = visible这时listview中的下面的item会被挤下去.也就是在一个屏幕中显示不出来了.另外有一个不在listview中的按钮,一但点击,

listview-有关Listview中item内容问题?

问题描述 有关Listview中item内容问题? 我的listview有100个条目,每个条目有2个textview,第一个textview有100个数据选择,第二个只有6个选择,请问怎么把第二组数据循环添加到Listview中?

android 往dialog中加入listview,并实现listview中item的点击事件

LinearLayout linearLayoutMain = new LinearLayout(this);//自定义一个布局文件 linearLayoutMain.setLayoutParams(new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); ListView listView = new ListView(this);//this为获取当前的上下文 listView.setFadingEdg

Android中AutoCompleteTextView完整示例(二)

MainActivity如下: package cc.testautocompletetextview2; import android.os.Bundle; import android.app.Activity; /** * Demo描述 * 利用自定义AutoCompleteTextView完成邮箱自动补全功能 * * 参考资料: * 1 http://blog.csdn.net/fx_sky/article/details/9326129 * 2 http://blog.csdn.net

[Android]解决ClickableSpan中点击后ListView中item的长按冲突的问题

以下内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3823429.html   项目中碰到一个问题,情景是这样的: 有一个ListView,每个item中有一个TextView,这个TextView实现了LongClick事件,这个TextView中又添加了ClickableSpan,实现了方法onClick. 我的需求是点击ClickableSpan,则响应ClickableSpan事件:长按ClickableSpan

Android中ListView Item布局优化技巧_Android

本文实例讲述了Android中ListView Item布局优化技巧.分享给大家供大家参考,具体如下: 之前一直都不知道ListView有多种布局的优化方法,只能通过隐藏来实现,自己也知道效率肯定是很低的,但是也不知道有什么方法,这些天又查了一些资料,然后知道 其实google早就帮我们想好了优化方案了. 假设你的ListView Item有三种布局样式的可能:就比如很简单的显示一行字,要靠左,居中,靠右. 这时我们就可以在BaseAdapter里面重写两个方法: private static