小编Sar*_*oto的帖子

Android - 如何在ListView的背景上显示垂直线(并根据行高)?

如何在背景上显示垂直线,例如下图中以蓝色突出显示的线?

在此输入图像描述

在这个例子中,我有一个带有ImageView元素的ListView(和TextView,但它与行无关),我希望这些项目背景上的垂直线感觉它们与每个项目"连接".

另外,请注意垂直线不会填满所有背景.

垂直线在左侧,并且对于所有情况都不相等.有时它会填充所有行高(在大多数ListView行中),有时它只填充行高的一半(在ListView的最后一项和ListView之外,在顶部,我们可以看到大的ImageView与星形图标).

更新

我尝试了Hellboy提出的建议,它几乎完美无缺.我为我的案例修改了建议的代码:

<RelativeLayout 
android:layout_width="40dp"
android:layout_height="match_parent"
android:gravity="center"
android:layout_marginLeft="15dp">

<View
    android:layout_width="4dp"
    android:layout_height="match_parent"
    android:background="#3399CC"
    android:gravity="center"
    android:layout_centerHorizontal="true"/>

<ImageView
    android:id="@+id/user_image"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:gravity="center"
    android:background="@android:color/holo_blue_light" >
</ImageView> 
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

RelativeLayout的宽度="40dp"(与我正在使用的原始ImageView相同),height ="match_parent(与他说的相同),gravity ="center"(让它们在行高的中心) )和layout_marginLeft ="15dp"(让空格到左边距).在ImageView中,我添加了marginTop ="10dp"和marginBottom ="10dp",并且随之显示蓝色垂直线.但我有其他同一行中的元素,所以我有一个父布局(一个线性布局).我的父布局是:

<?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="match_parent"
    android:orientation="horizontal"
    android:gravity="center"
    android:id="@+id/linearlayoutservicerow">
Run Code Online (Sandbox Code Playgroud)

因此,上面的这个父布局具有描述的RelativeLayout和其他行元素的其他LinearLayout.但是代码会导致图像变平.为什么会这样?!似乎RelativeLayout将其高度视为ImageView高度(40dp),并考虑其marginTop和marginBottom,并且此时图像被展平.

等待这个问题的更多答案.我会尝试另一种选择.

android listview background line drawable

11
推荐指数
2
解决办法
4204
查看次数

我可以在不安装Nova的情况下安装OpenStack的Swift(OpenStack存储基础架构)吗?

我正在尝试使用OpenStack,但我很困惑.

我想使用SWIFT(OpenStack存储基础架构)来存储数据.但我不知道如何安装它.我试图按照本教程,但它在服务器(Server1)上安装所有服务...我只需要SWIFT.

我必须安装Nova才能获得Swift吗?

因为在本教程中,在Server1上,在分层方案中,Swift属于Nova ...但我认为它是分开的.如果有人知道它,如果有人知道在Ubuntu上安装SWIFT的教程,请告诉我.我试图在我的Ubuntu 12.04桌面上安装这个组件,但有了所有这些疑虑,我无法继续.非常感谢.

cloud installation openstack-swift openstack

8
推荐指数
1
解决办法
7505
查看次数

如何使用Drawable图像名称从ArrayList <String>动态设置ImageViews源?

我有一个ListView,每行有一个ImageView,一个TextView和另一个ImageView.

下面的代码是我的ListView行的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#FFF">
<ImageView
android:id="@+id/left"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:src="@drawable/ic_default"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_weight="1"
android:textSize="16sp" />
<ImageView
android:id="@+id/right"
android:layout_width="50dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:src="@drawable/ic_cena_play"
android:layout_marginRight="0dp"
android:layout_marginLeft="10dp"
android:clickable="true"
android:background="@drawable/mybuttonplay" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我有一个ArrayList <String>,其中包含我想要放在行的第一个ImageView中的Drawables的名称.我想将ImageViews源"ic_default"更改为在ArrayList中具有名称的那些源.

在我的Activity中,在onCreate()中,我正在使用一个Adapter,如下面的代码所示:

ArrayList<String> items = new ArrayList();
items.add("Star");
items.add("Moon");
items.add("Dog");
items.add("Bird");
items.add("Tree");
ArrayList<String> itemsimg = new ArrayList();
itemsimg.add("ic_star");
itemsimg.add("ic_moon");
itemsimg.add("ic_dog");
itemsimg.add("ic_bird");
itemsimg.add("ic_tree");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.scenesrow, R.id.text, items) {
        @Override
        public View getView(int position, View convertView, …
Run Code Online (Sandbox Code Playgroud)

android listview drawable imageview

6
推荐指数
1
解决办法
3万
查看次数