首页 文章 精选 留言 我的

精选列表

搜索[控件库],共10000篇文章
优秀的个人博客,低调大师

android在代码中四种设置控件(以及TextView的文字颜色)背景颜色的方法

http://blog.csdn.net/fth826595345/article/details/9208771 主题 TextView 转载请注明出处:http://blog.csdn.net/fth826595345/article/details/9208771 直接上代码吧,注释解说: TextView tText=(TextView) findViewById(R.id.textv_name); //第1种: tText.setTextColor(android.graphics.Color.RED);//系统自带的颜色类 // 第2种: tText.setTextColor(0xffff00ff);//0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示颜色,注意:这里ffff00ff必须是8个的颜色表示,不接受ff00ff这种6个的颜色表示。 //第3种: tText.setTextColor(android.graphics.Color.parseColor("#87CEFA")) ; //还是利用Color类; //第4种: tText.setTextColor(this.getResources().getColor(R.color.red)); /*通过获得资源文件进行设置。根据不同的情况R.color.red也可以是R.string.red或者R.drawable.red, * 当然前提是需要在相应的配置文件里做相应的配置,如(xml 标签): * * <color name="red">#FF0000</color> <drawable name="red">#FF0000</drawable> <string name="red">#FF0000</string>*/ 本文转自SharkBin博客园博客,原文链接:http://www.cnblogs.com/SharkBin/p/4887547.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!

ListView :在Android应用开发过程中属于最常用的系统组件之一,当然可能童鞋们问为什么会突然游戏开发中讲这个,呵呵,其实在游戏开发中,也会常常使用到系统组件,比如游戏排行榜,简单的游戏关卡选择等等,都可以来使用ListView来实现; 当然关于ListView我想大家都会使用了,那么这篇文章也不是跟大家讲解ListView是如果使用的,而是如何实现自定义一个【通用】适配器类; 在ListView三种适配器当中,最受大家青睐的肯定就是SimpleAdapter适配器,用过的童鞋们都很清楚,它的扩展性很强,可以将ListView中每一项都使用自定义布局,插入N多组件;但是SimpleAdapter也有弱点,那就是当ListView中每一项有Button、CheckBox等这些有事件的组件,我们想监听它们就必须自定义适配器!那么今天的重点也就是来讲解一下如何写一个自定义通用适配器类! SimpleAdapter 构造的时候,我们知道需要五个参数来进行映射数据到ListView中,那么我们今天的自定义通用适配器其实也就是实现系统SimpleAdapter的一个自定义版; OK,可能我说这么多,大家还是不太懂,其实今天要讲述的自定义通用适配器优点有三点: 1.使用通用适配器就不需要每次使用自定义适配器的时候,都要去重新去写一个,太累。。。。 2.构造方法与SimpleAdapter构造方法相同,五个参数也一摸一样! 3.只需要在自定义的适配器类中,将我们需要监听的组件进行设置监听即可!别的代码不需要去改动! 例如我们需要完成下图这种ListView:(图1) 首先我们来完成ListView中每项的布局: main.xml: <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/iv" /> <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:id="@+id/bigtv" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="10sp" android:id="@+id/smalltv" /> </LinearLayout> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" android:id="@+id/btn" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/cb" /> </LinearLayout> 修改源码:MainActivity.java: publicclassMainActivityextendsActivity{ privateSimpleAdapteradapter;//声明适配器对象 privateListViewlistView;//声明列表视图对象 privateList<Map<String,Object>>list;//声明列表容器 publicstaticMainActivityma; @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); ma=this; //实例化列表容器 list=newArrayList<Map<String,Object>>(); listView=newListView(this);//实例化列表视图 //实例一个列表数据容器 Map<String,Object>map=newHashMap<String,Object>(); //往列表容器中添加数据 map.put("item1_imageivew",R.drawable.icon); map.put("item1_bigtv","BIGTV"); map.put("item1_smalltv","SMALLTV"); //将列表数据添加到列表容器中 list.add(map); //--使用系统适配器,无法实现组件监听; ////实例适配器 adapter=newSimpleAdapter(this,list,R.layout.main,newString[]{ "item1_imageivew","item1_bigtv","item1_smalltv"},newint[]{ R.id.iv,R.id.bigtv,R.id.smalltv}); listView.setAdapter(adapter); ////显示列表视图 this.setContentView(listView); } } 到此,我们之前要求完成的(图1)要求的ListView,[对ListView不太熟悉的童鞋自行百度google先学习一下基础吧] 当然这里我们只是完成了界面,如果想监听(图1)中的按钮和复选框事件,那么我们肯定需要自定义一个适配器,那么下面开始介绍如何实现通用适配器: 创建一个新类,类名:“MySimpleAdapter.java”继承BaseAdapter: /** * */ packagecom.himi; importjava.util.List; importjava.util.Map; importandroid.app.AlertDialog; importandroid.content.Context; importandroid.view.LayoutInflater; importandroid.view.View; importandroid.view.ViewGroup; importandroid.widget.BaseAdapter; importandroid.widget.Button; importandroid.widget.CheckBox; importandroid.widget.CompoundButton; importandroid.widget.ImageView; importandroid.widget.TextView; importandroid.widget.CompoundButton.OnCheckedChangeListener; /** *@authorHimi * */ publicclassMySimpleAdapterextendsBaseAdapter{ privateLayoutInflatermInflater; privateList<Map<String,Object>>list; privateintlayoutID; privateStringflag[]; privateintItemIDs[]; publicMySimpleAdapter(Contextcontext,List<Map<String,Object>>list, intlayoutID,Stringflag[],intItemIDs[]){ this.mInflater=LayoutInflater.from(context); this.list=list; this.layoutID=layoutID; this.flag=flag; this.ItemIDs=ItemIDs; } @Override publicintgetCount(){ //TODOAuto-generatedmethodstub returnlist.size(); } @Override publicObjectgetItem(intarg0){ //TODOAuto-generatedmethodstub return0; } @Override publiclonggetItemId(intarg0){ //TODOAuto-generatedmethodstub return0; } @Override publicViewgetView(intposition,ViewconvertView,ViewGroupparent){ convertView=mInflater.inflate(layoutID,null); for(inti=0;i<flag.length;i++){//备注1 if(convertView.findViewById(ItemIDs[i])instanceofImageView){ ImageViewiv=(ImageView)convertView.findViewById(ItemIDs[i]); iv.setBackgroundResource((Integer)list.get(position).get( flag[i])); }elseif(convertView.findViewById(ItemIDs[i])instanceofTextView){ TextViewtv=(TextView)convertView.findViewById(ItemIDs[i]); tv.setText((String)list.get(position).get(flag[i])); }else{ //...备注2 } } addListener(convertView); returnconvertView; } /** *童鞋们只需要将需要设置监听事件的组件写在下面这方法里就可以啦! *别的不需要修改! *备注3 */ publicvoidaddListener(ViewconvertView){ ((Button)convertView.findViewById(R.id.btn)).setOnClickListener( newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ newAlertDialog.Builder(MainActivity.ma) .setTitle("自定义通用SimpleAdapter") .setMessage("按钮成功触发监听事件!") .show(); } }); ((CheckBox)convertView.findViewById(R.id.cb)). setOnCheckedChangeListener(newOnCheckedChangeListener(){ @Override publicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){ newAlertDialog.Builder(MainActivity.ma) .setTitle("自定义通用SimpleAdapter") .setMessage("CheckBox成功触发状态改变监听事件!") .show(); } }); } } 备注1:这个For循环中是对ListView中每一项中包含所有的组件进行判定每个组件的类型,从而去设置其数据! 其中 《instanceof》这个关键字可能有的童鞋不太熟习,这个是对Object 类型的判断; 这里我只是对ImageView、TextView的类型进行的数据识别,为什么我这里只写了这两种,那是因为Button、CheckBox等这些带事件响应的组件是无法通过适配器映射到ListView上的; 其实关于适配器映射的机制,这里简单说下:例如一个TextView组件,那么在ListView的每一项(List)中put()添加的时候,put()方法中第一个参数key大家知道是用于与适配器进行对应映射数据用的值,那么第二个参数其实就是put进组件的数据;其实当其数据反射在ListViw时,其实内部就是对组件进行实例化,并且对组件设置数据; 备注2 :我这里最后还有一个else{...}这里是留给童鞋们去扩展的,因为可能还有一些其他能映射的组件,所以这里留下接口,供大家扩展; 备注3:addListener(View convertView)这是我留出来的方法,童鞋们只需要将需要设置监听事件的组件写在这方法里就可以啦! 那么看一下我们使用通用监听器的效果吧: OK,很正常!那么在来看看使用系统的SimpleAdapter 与我们自定义的MySimpleAdapter代码对比图:怎么样!构造参数完全一样,而且我们这个比它强大,我们只要去设置下需要监听的组件监听代码就OK了。 娃哈哈,好啦,今天就到这里吧,希望此通用适配器对大家有用! 补充:大家使用自定义适配器的时候,有时候ListView每一项的焦点没有了,比如本文中是因为Button和CheckBox截获了焦点,童鞋们只要将button和checkBox的焦点设置不可见就OK啦。~ xml中focusable是这个属性; android:focusable="false" 这里也提醒一下开发游戏的童鞋们,很多游戏开发者认为开发游戏不用去学习系统组件的使用,不用去沾染xml、布局啥的,其实这么想的童鞋们你们就大错特错了,Android之所以能这么火,其组件的美观占了很重的份量,这么美的组件不用岂不是很浪费!!希望童鞋们对组件不熟悉的游戏开发者都要去学习学习下组件的使用! 源码下载:http://www.himigame.com/android-game/374.html 本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/606981,如需转载请自行联系原作者

优秀的个人博客,低调大师

【读书笔记《Android游戏编程之从零开始》】7.Android 游戏开发常用的系统控件(Dialog)

在Android应用开发中,Dialog(对话框)创建简单且易于管理因而经常用到,对话框默认样式类似创建样式的Activity。 首先介绍android.app.AlertDialog下的Builder这个类。Builder是AlertDialog类的子类,而且还是它的内部类。正如其名所示,Builder相当于一个具体的构造者,通过Builder设置对话框属性,然后将Builder(对话框)显示出来。 本人做了个Dialog显示效果集合的小Demo,效果如下(GIF图片较大,需要点加载时间): 主要代码: MainActivity.class 本文转自叶超Luka博客园博客,原文链接:http://www.cnblogs.com/yc-755909659/p/3748113.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

安装 xgboost 库

1、下载网址 https://www.lfd.uci.edu/~gohlke/pythonlibs 2、CTRL+F 查找 xgboost 3、单击 xgboost,找到如下页面: 4、查询Python版本 在cmd下输入:python 返回Python的版本:Python 3.5.2 |Anaconda 4.2.0 (64-bit)| 5、根据Python版本下载安装包 xgboost‑0.80‑cp35‑cp35m‑win_amd64.whl cp:是python的版本,cp35表示版本3.5 6、复制文件的路径+文件名 笔者下载到了桌面C:\Users\Gorde\Desktop\xgboost-0.80-cp35-cp35m- win_amd64.whl 7、在cmd模式下安装 pip install C:\Users\Gorde\Desktop\xgboost-0.80-cp35-cp35m-win_amd64.whl 安装成功截图 8、有时候需要升级pip 安装xgboost时会报以下错误: 直接运行命令: python -m pip install --upgrade pip 成功后再安装xgboost即可。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册