首页 > 代码库 > 使用一个shape.xml文件,使用代码设置不同圆角背景颜色
使用一个shape.xml文件,使用代码设置不同圆角背景颜色
给一个View设置一个圆角的背景颜色,我们一般会使用xml文件设置,使用<shape>节点设置,但是如果我们对一系列的View设置圆角北京,并且背景颜色色值不同,那么我们第一感觉想到的是创建多个xml文件,更改solid填充背景,其实我们可以使用一个xml文件就可以搞定,使用代码更改里面的填充颜色色值。废话不多话,看代码。
效果:
首先:创建activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <GridView android:id="@+id/gv_gridview" android:layout_width="match_parent" android:layout_height="match_parent" android:horizontalSpacing="10dp" android:numColumns="4" android:verticalSpacing="10dp" > </GridView> </RelativeLayout>
MainActivity.java
public class MainActivity extends Activity { private GridView gdview; private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = MainActivity.this; gdview = (GridView) findViewById(R.id.gv_gridview); initDate(); } private void initDate() { List<String> lists = new ArrayList<String>(); lists.add("颜色1"); lists.add("颜色2"); lists.add("颜色3"); lists.add("颜色4"); lists.add("颜色5"); lists.add("颜色6"); lists.add("颜色7"); lists.add("颜色8"); lists.add("颜色9"); lists.add("颜色10"); lists.add("颜色11"); lists.add("颜色12"); gdview.setAdapter(new MyGridViewAdapter(mContext, lists)); } }
下面新建自定义适配器MyGridViewAdapter.java
public class MyGridViewAdapter extends BaseAdapter { private Context mContext; private List<String> data;// 显示的数据 private int[] colors = { R.color.item1, R.color.item2, R.color.item3, R.color.item4, R.color.item5, R.color.item6, R.color.item7, R.color.item8, R.color.item9, R.color.item10, R.color.item11, R.color.item12 };// 颜色色值id数组 public MyGridViewAdapter(Context mContext, List<String> data) { super(); this.mContext = mContext; this.data = http://www.mamicode.com/data;>
item_griview.xml<?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="vertical" > <TextView android:id="@+id/tv_item" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:paddingBottom="5dp" android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingTop="5dp" /> </LinearLayout>
提前在res/vlaues/color.xml中增加背景颜色色值<?xml version="1.0" encoding="utf-8"?> <resources> <color name="item1">#eed776</color> <color name="item2">#f2a96b</color> <color name="item3">#7fda54</color> <color name="item4">#aaaae1</color> <color name="item5">#d785de</color> <color name="item6">#a8a8e2</color> <color name="item7">#91d56c</color> <color name="item8">#d4ac65</color> <color name="item9">#7ac7c6</color> <color name="item10">#f09292</color> <color name="item11">#83b4e4</color> <color name="item12">#d7d87e</color> </resources>如果想显示的背景的个数,背景颜色的色值和内容,可以在values中做相应的变化。
源码下载地址:http://download.csdn.net/detail/forwardyzk/7993463
使用一个shape.xml文件,使用代码设置不同圆角背景颜色
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。