如何仅在每个ListView行上显示左边的彩色边框?如何在每个ListView行上显示左边的彩色边框?
我有一个用户信誉5度termometer,我想在每个listview行的左边界显示各自的颜色。
像这样link
谢谢你们!
如何仅在每个ListView行上显示左边的彩色边框?如何在每个ListView行上显示左边的彩色边框?
我有一个用户信誉5度termometer,我想在每个listview行的左边界显示各自的颜色。
像这样link
谢谢你们!
最简单的方法是在你的项目布局,以创建一个虚拟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
代码视图参考,并切换到任何你所需要的背景颜色。
您可以将面板添加到应用的最左侧部分。在该面板中,您可以放置温度计的预定义图像之一。你只有5个关卡,对吧?一旦数值发生变化 - 选择相应的温度计读数图像并重新绘制gui元素。
的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更多信息,请访问以下网站:
请说明您的具体问题或添加额外的细节,以确切地突出你需要什么。正如目前所写,很难确切地说出你在问什么。请参阅[Ask]页面以获得澄清此问题的帮助。 –
想要这样[link](http://imgur.com/a/Z2u76) – marcelofb