android:sta" />
搜档网
当前位置:搜档网 › Android使用xml改变button背景图片

Android使用xml改变button背景图片

Android使用xml改变button背景图片
Android使用xml改变button背景图片

Android使用xml改变button背景图片

这篇文章我们使用Android XML来改变各种按钮状态(获得焦点、获得焦点并按下、失去焦点、默认)时的背景图,首先我们自己定义一个imgbutton.xml代码:

android:state_focused="true"

android:state_pressed="false"

android:drawabl e="@drawabl e/onfocusimage2"

/>

android:state_focused="true"

android:state_pressed="true"

android:drawabl e="@drawabl e/clickimage2"

/>

android:state_focused="false"

android:state_pressed="true"

android:drawabl e="@drawabl e/clickimage2"

/>

android:drawabl e="@drawabl e/defaultimage2"

/>

在main.xml中定义一个button代码:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:id="@+id/settingsLayoutId"

android:gravity="center">

android:background="@anim/imgbutton"

android:text="@string/app_pic"

android:id="@+id/imagesBut"

styl e="@styl e/settingsBut"

/>

来源:清源教育

android毕业设计(论文)开题报告

毕业设计(论文) 开题报告 题目___________________________ 学院___________________________ 专业及班级___________________________ 姓名___________________________ 学号___________________________ 指导教师 ___________________________ 日期 ___________________________

西安科技大学毕业设计(论文)开题报告

二、主要研究(设计)内容、研究(设计)思路及工作方法或工作流程 设计内容:基于Android平台下实现理货员的功能:精耕拜访,销售机会,拜访效果,门店销量查询,待办事项,数据维护:队列信息,基础信息,地图下载。 设计思路及工作方法: 1.精耕拜访: (1)初始进入该页面,系统会自动获取该理货员的本日拜访的门店及路线。 (2)下方地图会自动定位目前理货员的位置。 (3)点击门店的具体门店名称,在右边会显示该门店的联系人,电话,及地址,并且地图 会自动切换定位以该门店为中心。 (4)点击地图上的+可实现地图局部放大。-可实现地图的放小。 (5)如已拜访的门店,点击进入可以调去历史拜访数据。如未拜访的门店,点击进入可以新增该拜访记录。 (6)如理货员在拜访期间,发现门店已经有卖而目前系统中无记录的情况,则可以通过扫 描SKU的条形码,系统会自动匹配该SKU的信息给理货员。 匹配顺序:连锁总店—区域管理—基本SKU信息 补充说明: (1)公司动态内容,为了显示保乐力加集团的整体形象,有必要对公司的动态进行展示。 要包括集团的光辉历程,门店信息,集团的促销信息等。 (2)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员 需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且 分发。 (3)陈列报告,为显示每次理货员必须处理的门店信息记录及图片等。 (4)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (5)价格显示,系统会自动带出竞品信息。罗列在下半部。理货员在进行拜访期间,可以对本身的SKU及竞品的价格进行登记。主要登记内容:零售价格,促销价格及促销期间。信息采集完毕,可以供后台进行统计分析。 (7)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (7)库存信息,主要记录SKU的库存数量。 (8)上半部为助销申请内容,主要是对一些礼品的申请。 (9)订单处理,为新增订单,退货内容及换货内容的跟踪。 2.销售机会: (1)打开销售机会界面,会自动定位目前的门店列表。 (2)用户可以输入门店名称查询具体的门店信息及地图位置。

Android图片处理工具类(圆角,压缩)

Android图片处理工具类(圆角,压缩) 工作中用到的图片处理工具类,简单写下来,以便备用! public class BitmapUtils { /** * 图像背景圆角处理 * bitmap要处理的图片 roundPx 图片弯角的圆度一般是5到10之间 */ public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) { // 创建与原图大小一样的bitmap文件,Config.ARGB_8888根据情况可以改用其它的 Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); // 实例画布,绘制的bitmap将保存至output中 Canvas canvas = new Canvas(output); final int color = 0xff424242;//写自己需要的颜色值 final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); final RectF rectF = new RectF(rect); paint.setAntiAlias(true);

canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); bitmap.recycle(); bitmap = null; return output; } /** * bitmap缩放 * width要缩放的宽度 height要缩放的高度 */ public static Bitmap getBitmapDeflation(Bitmap bitmap, int width, int height, boolean recycle) { if (null == bitmap) { return null;

Android下基于XML的Graphics shape使用方法

Android下基于XML的Graphics shape使用方法 2011-05-30 10:47 Android下基于XML的Graphics 以前作图,一般有两种方式,首先是UI把图形设计好,我们直接贴,对于那些简单的图形,如矩形、扇形这样的图 形,一般的系统的API会提供这样的接口,但是在Android下,有第三种画图方式,介于二者之间,结合二者的长处,如 下的代码: Java 代码

这是一个Progress的style里面的代码,描述的是进度条的为达到的图形,原本以为这是一个图片,后来仔细的跟踪代码,发现居然是xml,像这种shape corners gradient等等这还是第一次碰到。shape 表示是一个图形,corners表示是有半径为5像素的圆角,然后,gradient表示一个渐变。这样作图简单明了,并且可以做出要求很好的图形,并且节省资源Java 代码 gradient 产生颜色渐变android:angle从哪个角度开始变貌似只有90的整数倍可以 android:shape="rectangle" 默认的也是长方形

android解析xml文件的方式--PULL

我们使用SAX方式解析xml文档,SAX方式是基于事件驱动的。当然android的事件机制是基于回调函数的。在这一节中,我们用另外一种方式解析xml文档,这种方式也是基于事件驱动的,与SAX方式一样,它就是PULL方式。只不过PULL方式读xml回调方法返回的是数字。 读取到xml的声明返回START_DOCUMENT; 读取到xml的结束返回 END_DOCUMENT ; 读取到xml的开始标签返回START_TAG 读取到xml的结束标签返回END_TAG 读取到xml的文本返回TEXT xml数据结果还是采用我们先前使用的river.xml文件。 采用PULL方式与SAX大同小异,重点在于我们需要知道导航到什么标签时候做什么就行了,依据上一节SAX处理方式的思路,我们也可以在这一节中一样处理,基本方法是: 基本处理方式是:当PULL解析器导航到文档开始标签时就开始实例化list集合用来存贮数据对象。导航到元素开始标签时回判断元素标签类型,如果是river标签,则需要实例化River对象了,如果是其他类型,则取得该标签内容并赋予River对象。当然它也会导航到文本标签,不过在这里,我们可以不用。 根据以上的解释,我们可以得出以下处理xml文档逻辑: 1:当导航到XmlPullParser.START_DOCUMENT,可以不做处理,当然你可以实例化集合对象等等。 2:当导航到XmlPullParser.START_TAG,则判断是否是river标签,如果是,则实例化river对象,并调用getAttributeValue方法获取标签中属性值。 3:当导航到其他标签,比如Introduction时候,则判断river对象是否为空,如不为空,则取出Introduction中的内容,nextText方法来获取文本节点内容 4:当然啦,它一定会导航到XmlPullParser.END_TAG的,有开始就要有结束嘛。在这里我们就需要判读是否是river结束标签,如果是,则把river对象存进list集合中了,并设置river对象为null. 由以上的处理逻辑,我们可以得出以下代码: View Code public List parse(String xmlPath){ List rivers=new ArrayList(); River river=null; InputStream inputStream=null; //获得XmlPullParser解析器 XmlPullParser xmlParser = Xml.newPullParser(); try { //得到文件流,并设置编码方式 inputStream=this.context.getResources().getAsse ts().open(xmlPath); xmlParser.setInput(inputStream, "utf-8");

android中selector背景选择器(全部属性)

浅谈android的selector背景选择器 ---------------------------------------------------- Item顺序是有讲究的,条件限定越细致,则应该放到前面。比如这儿如果把1,2行和3,4行的item交换,那么pressed的就永远无法触发了,因为有item已经满足条件返回了。可以理解为代码中的if语句。 ---------------------------------------------------- 关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。 首先android的selector是在drawable/xxx.xml中配置的。 先看一下listview中的状态: 把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的背景图片。 drawable/list_item_bg.xml

android 中对xml 进行解析

DOM解析器是通过将XML文档解析成树状模型并将其放入内存来完成解析工作的,而后对文档的操作都是在这个树状模型上完成的。这个在内存中的文档树将是文档实际大小的几倍。这样做的好处是结构清除、操作方便,而带来的麻烦就是极其耗费系统资源。而SAX正好克服了DOM的缺点,分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中,这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。 选择DOM 还是选择SAX,这取决于下面几个因素: 应用程序的目的:如果打算对数据作出更改并将它输出为XML,那么在大多数情况下,DOM 是适当的选择。并不是说使用SAX 就不能更改数据,但是该过程要复杂得多,因为您必须对数据的一份拷贝而不是对数据本身作出更改。 数据容量:对于大型文件,SAX 是更好的选择。 数据将如何使用:如果只有数据中的少量部分会被使用,那么使用SAX 来将该部分数据提取到应用程序中可能更好。另一方面,如果您知道自己以后会回头引用已处理过的大量信息,那么SAX 也许不是恰当的选择。 对速度的需要:SAX 实现通常要比DOM 实现更快。 基于上面的分析,在基于Android系统的内存和CPU资源比较有限的手持设备上,只要我们不需要修改XML数据或者随机的访问XML数据,SAX尽管可能需要更多的编码工作,但是为了更小的内存和CPU 消耗,还是值得的。 另外,Android SDK中已经包含了JAXP对应的javax.xml.parsers包,和SAX对应org.xml.sax(当然DOM对应的org.w3c.dom包也包含在内),加上Android还提供了android.sax这样的包来方便SAX Handle的开发,基于JAXP和SAX这样的标准方法来开发不仅复杂度不高,即使出现问题在讨论组中寻求解决方案也是比较容易的。 android 中的xml解析应该是和java中一条道路主要分为sax 解析和的Dom 解析。 如下的介绍的相关的包和类均为android 环境下: sax解析对应为: org\xml\sax 包:xml解析 javax.xml.parsers.SAXParserFactory javax.xml.parsers.SAXParser 两个主要用于SAXParser的上下文建立

android消除Preference黑色背景

话不多说,直接切入正题 一、Android中消除preference拖拉时黑色背景方法: 首先建立一个preference_list.xml 代码如下: 注释:android:divider="@drawable/divider" android:cacheColorHint="#00000000" 重点是这两句话:第一句是设置preferece之间的分割线; 第二句就是消除preference拖拽时产生的黑色背景啦!(“#00000000”就是将其设为透明,你也可以把它设为其他颜色) 二、代码中调用方法: 随便写个PreActivity.java import android.content.Context; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; public class PreActivity extends PreferenceActivity { @Override

Android 标题栏添加控件及Button控件背景颜色的设置

Android 标题栏添加控件及Button控件背景颜色的设置 一、Android中标题栏添加按 现在很多的Android程序都在标题栏上都显示了一些按钮和标题,如下图: 下面通过实例来看一下如何实现。 1、在layout下创建一个titlebtn.xml文件,内容如下:

安卓图片批量处理软件 (12页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 安卓图片批量处理软件 篇一:Android_解决图片大量下载:软引用 Android 解决图片大量下载:软引用 1.对象的强、软、弱和虚引用 为了能更加灵活控制对象的生命周期,需要知道对象引用的4中级别,由高到低依次为:强引用、软引用、弱引用和虚引用 备注:这四种的区别: ⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ⑵软引用(SoftReference) 如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存(下文给出示例)。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收器回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。 ⑶弱引用(WeakReference) 弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。

XML布局文件

XML布局文件 XML布局文件是android系统中定义视图的常用方法,所有的xml文件必须保存在res/layout目录中。 (1)XML布局文件的命名及注意事项。 XML布局文件的扩展名必须是xml。 XML布局文件必须符合Java变量名的命名规则。 每一个XML布局文件的根节点可以是任意的控件标签,如 ,。 为XML布局文件中的标签指定ID时需使用:@+id/somestring。(2)常用XML属性解析。 xmlns:android这是XML命名空间的声明,它是告诉Android的工具, 你将要涉及到公共的属性已被定义在XML命名空间。在每一个Android的布局文件的最外边的标签必须有这个属性。 android:layout_width这个属性定义了在屏幕上这个View可用的宽度是多少。 android:layout_height这个属性定义了在屏幕上这个View可用的高度是多少。 android:text设置TextView所包含的文本内容,当前设置为”Hello, Android”信息 共有属性: java代码中通过btn1关联次控件 android:id="@+id/btn1" 控件宽度 android:layout_width="80px" //"80dip"或"80dp" android:layout_width =“wrap_content” android:layout_width =“match_parent” 控件高度 android:layout_height="80px" //"80dip"或"80dp" android:layout_height =“wrap_content” android:layout_height =“match_parent” 控件排布

Android SAX 方式解析XML 字符串

这个是主类: import java.io.StringReader; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class ParsingXML extends Activity { private final String MY_DEBUG_TAG = "WeatherForcaster"; public void onCreate(Bundle icicle) { super.onCreate(icicle); TextView tv = new TextView(this); String xml = "aHR0cDovLzE5Mi4xNjguMTA0LjExMy9ldW1zL2NsaWV udC90ZW1 wbGF0ZTIwMDA vbW9iaWxlZW50cnkucGhwP3VzZXJuYW1lPWNlc2hp"; // 创建一个新的字符串 StringReader read = new StringReader(xml); // 创建新的输入源SAX 解析器将使用InputSource 对象来确定如何读取XML 输入 InputSource source = new InputSource(read); try { SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); XMLReader xr = sp.getXMLReader(); ExampleHandler myExampleHandler = new ExampleHandler(); xr.setContentHandler(myExampleHandler); xr.parse(source); ParsedExampleDataSet parsedExampleDataSet = myExampleHandler .getParsedData(); String url=Base64Coder.decodeString(parsedExampleDataSet.toString()); tv.setText(url); } catch (Exception e) { tv.setText("Error: " + e.getMessage()); Log.e(MY_DEBUG_TAG, "WeatherQueryError", e); } this.setContentView(tv); } } 下面两个类是以SPX 方式解析XML字符串

Android 中的ListView选中项的背景颜色怎么设置

Android 中的ListView选中项的背景颜色怎么设置? android中ListView获得焦点的项默认是黄色的(模拟器上)现在因为需求想要自己定义被选中项的背景能实现吗? 最佳答案 完全可以实现,这用到了Android的Selector(根据组件的状态显示该状态对应的图片,并以此图片作为背景显示)。把下面的XML文件保存成你自己命名的.xml文件(比如list_bg.xml),注意,这个文件相当于一个背景图片选择器,在系统使用时根据 ListView中的列表项的状态来使用相应的背景图片,什么情况使用什么图片我在下面都进行了说明。还有,你可以把它看成是一个图片来使用,放于 drawable目录下,配置背景属性 android:background="@drawable/list_bg"就能达到你需要的目的了。 --------------------------------------------------------------------------------------------------------------- 在values下新建一个color.xml #808080FF #FFFFFFFF #00ffffff

Android 图片加载性能优化总结

Android 图片加载性能优化总结 一、Android Bitmap加载大尺寸图片优化: 压缩原因: 1.imageview大小如果是200*300那么加载个2000*3000的图片到内存中显然是浪费可耻滴行为; 2.最重要的是图片过大时直接加载原图会造成OOM异常(out of memory内存溢出) 所以一般对于大图我们需要进行下压缩处理 看不懂英文的话木有关系,本篇会有介绍 主要处理思路是: 1.获取图片的像素宽高(不加载图片至内存中,所以不会占用资源) 2.计算需要压缩的比例 3.按将图片用计算出的比例压缩,并加载至内存中使用 官网大图片加载教程(上面网址里的)对应代码就是: /** * 获取压缩后的图片 * @param res * @param resId * @param reqWidth 所需图片压缩尺寸最小宽度 * @param reqHeight 所需图片压缩尺寸最小高度 * @return */ public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight) {

// 首先不加载图片,仅获取图片尺寸 final BitmapFactory.Options options = new BitmapFactory.Options(); // 当inJustDecodeBounds设为true时,不会加载图片仅获取图片尺寸信息 options.inJustDecodeBounds = true; // 此时仅会将图片信息会保存至options对象内,decode方法不会返回bitmap 对象 BitmapFactory.decodeResource(res, resId, options); // 计算压缩比例,如inSampleSize=4时,图片会压缩成原图的1/4 options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight); // 当inJustDecodeBounds设为false时,BitmapFactory.decode...就会返回图片对象了 options.inJustDecodeBounds = false; // 利用计算的比例值获取压缩后的图片对象 return BitmapFactory.decodeResource(res, resId, options); } 代码详解: 核心方法是BitmapFactory.decode...(...., options) ...的意思是此外还有一系列的decodeFile/decodeStream等等方法,都是利用options灵活解析获取图片, 只不过解析图片的来源不同罢了,比如网络图片获取,一般就是解析字节流信息然后decode获取图片实例 Options是图片配置信息,参数详细介绍下: inJustDecodeBounds 是否只解析边界 设为true时去decode获取图片,只会加载像素宽高信息 设为false时decode则会完全加载图片 inSampleSize 压缩比例

AndroidManifest.xml配置文件详解

AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.xml文件样例。 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. . . . 33. 34. 35. 36. 37. 38. . . . 39. 40.

2011221728-黄凯-基于Android的图片管理器设计与实现

摘要 随着智能手机走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,手机图片管理服务就是其中的一项。Android平台支持各种应用的开发,它是目前最流行的开源智能手机操作系统,最新的版本是android4.2,提供了便捷灵活的开发接口。 本课题在Android SDK2.2平台下,设计了一个手机图片管理。采用了Android 平台的Framework层提供的接口,实现了图片预览、图片动态切换、停止播放等功能,支持jpg,bmp,png和gif图片格式,该程序是独立的apk文件,可以安装在android2.2以上的系统内。它可以让手机成为一个图片管理,用户可以将其放在心仪的地方,来展示美好的图片,而不必再去购买别的设备就能拥有精美的图片管理了。 本文开头首先对图片管理软件的研究背景做了简单介绍,其次简述了现今流行的几个手机开发平台,详细介绍了Android开发平台的架构,并描述了Android 开发环境的搭建过程;接下来是对系统设计的介绍,本文从对购书比价系统的分析,到数据库的设计,再到系统客户端的实现都做了详细的解说,并把有些细节和技术提出来做单一的解说;紧接着本文描述了此客户端的图片管理软件的测试过程和如何发布此系统。。本设计完成后,能够实现以下功能:图片的浏览、图片属性的修改、图片的一些基本操作。 关键词:Android ;java;图片管理; I

第1章绪论 1.1 系统开发背景 如今手机就像钥匙一样,是我们出门必带的物品之一。随着科技的迅猛发展,现在的手机都是智能手机,它的功能不仅仅只是用来打电话或是收发短信,我们还可以用它听歌看视频、用蓝牙传输数据、玩游戏、上网等等。据数据资料显示,截至2013年1月我国有8亿手机用户,使用手机上网的用户超过了6亿。基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个图片浏览器。 本次设计运用android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了一种手机图片浏览器。本设计完成后,能够实现以下功能:图片的浏览、图片属性的修改、图片的一些基本操作,一些远程模块的调用、根据不同图片扩展名来实现图片只能的打开,同时给以后的一些实用软件留下了借口、可以实现与手机之间的通讯。以及电脑之间的共享。 在设计时,按照设计的要求,从可靠性、经济性、安全性三个方面进行考虑,通过设计方案的比较,确定出来一套即经济又可行的方案。 本次设计是对所学知识的综合运用,把理论知识和实践相结合。在本次设计与检验过程中遇到了许多实际问题,比如android平台手机及其运行环境的选择,不熟悉myeclipse和eclipse软件的使用方法,不熟悉开发技巧,可能会发生一些微小功能不能实现、软件运行不稳定,如何设计软件的最佳外观效果等。所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。 本文通过方案确认,介绍了设计中所用到的技术、开发思想,以及android 2

android:设置背景图片、背景颜色透明

android:设置背景图片、背景颜色透明 2012-03-15 16:51:09|分类: android UI |标签: |字号大中小订阅 Button或者ImageButton的背景设为透明或者半透明 半透明