2017-04-15 54 views
1

如何仅在每个ListView行上显示左边的彩色边框?如何在每个ListView行上显示左边的彩色边框?

我有一个用户信誉5度termometer,我想在每个listview行的左边界显示各自的颜色。

像这样link

谢谢你们!

+1

请说明您的具体问题或添加额外的细节,以确切地突出你需要什么。正如目前所写,很难确切地说出你在问什么。请参阅[Ask]页面以获得澄清此问题的帮助。 –

+0

想要这样[link](http://imgur.com/a/Z2u76) – marcelofb

回答

1

最简单的方法是在你的项目布局,以创建一个虚拟View 。这样,当您将布局绑定到数据时,您可以轻松更改背景的颜色。事情是这样的:

item_list_layout.xml

<LinearLayout  
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <View 
     android:id="@+id/termometherIndicator" 
     android:height="match_parent" android:width="4dp" 
     android:background="@color/default_color" /> 
    <LinearLayout ....> 
     <!-- The rest of the item layout goes here --> 
    </LinearLayout> 
</LinearLayout> 

然后得到后面使用Id代码视图参考,并切换到任何你所需要的背景颜色。

1

您可以将面板添加到应用的最左侧部分。在该面板中,您可以放置​​温度计的预定义图像之一。你只有5个关卡,对吧?一旦数值发生变化 - 选择相应的温度计读数图像并重新绘制gui元素。

1

ListView行应该是一个水平LinearLayout,以及包括此之初,作为第一个孩子,接着TextView的:

<View 
android:id="@+id/reputationColor" 
android:layout_width="4dp" //Aproximately the size from your image 
android:layout_height="36dp" //About the size of a List Row, but less, as seen in your image 
android:layout_gravity="top" 
/> 

您将需要一个CustomAdapter为您ListView,你可以找到在here

的CustomAdapter里面一个完整的例子,你可以用

View reputationColor = (View)findViewById(R.id.reputationColor); 
switch (reputation) { 
case 1: 
reputationColor.setBackgroundColor(#ff0000); 
break; //Include other cases up to 5 
default: 
break; 
} 
编程设置颜色3210

有关CustomAdapters更多信息,请访问以下网站: