Android菜鸟日记18
Button的按钮效果与动态设置Margins
一、button的按钮效果
之前做button的按钮效果是
1.继承button然后复写button的方法。
或者
2.用ImageVIew 的visibility 来让2个ImageVIew交替显示来达到按钮效果
昨天玩seekbar时发现了 可以写可以通过xml文件来让变化后的图片也变化。
今天在研究button效果时发现也可以用这个方法:
选择器法……selector
按钮样式
每个按钮的样式默认为系统按钮的背景,不同的设备、不同的平台版本有不同按钮风格。如你不满意默认的按钮样式,想对其定制以符合您应用程序的设计,那么你能用state list drawable替换按钮的背景图片。一个状态列表drawable是一个在XML中定义的drawable资源,根据当前按钮的状态改变其图片。一旦你在XML中定义了一个状态列表drawable,你可以将它应用于你的android:background属性。欲了解更多信息和示例,参见State List Drawable.
<Button android:backgroud=”xml文件地址[选择器]”>
xx.xml 此xml表示button 按下 选择 默认的 图片
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
这样速度快 而且直接能用 几乎不用些什么代码
二、动态设置Margins
今天做光学的按钮布局是发现的问题
不同机型的布局是不一样的所以要在代码中获取机器信息后才能对按钮的Margins赋值
结果找了半天没找到如何从bt对象中找到设置的方法,后来搜了半天在网上看到一种方法
通过LayoutParams对象来设置Margins
简单的说:
整个方法就是 通过LinearLayout获取LayoutParams对象 然后对此对象设置margins然后再把设置好的LayoutParams对象传给需要设置的button(imageView也是可以)。
步骤
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
新建一个LinearLayout.LayoutParams(宽布局,高布局)
lp.setMargins(width / 2 - temp, height * 1 / 2, 0, 0);
获得此对象LP 然后用LP.setmargins(左,上,右,下)
bt1.setLayoutParams(lp);
然后吧这个布局参数LP对象设置入bt1
2011-9-20
poolo
分享到:
相关推荐
这篇“Android菜鸟日记25-android反编译”将带你走进Android反编译的世界,揭示APK背后的秘密。 首先,让我们了解什么是Android反编译。Android应用主要由Java语言编写,经过编译后生成Dalvik字节码(.dex文件),...
菜鸟入侵--利用资源搜索动画教程,内附有详细的使用说明 菜鸟入侵之利用资源篇 菜鸟在入侵的时候,如果能充分利用现有的资源,那将对自己的入侵起很大的
菜鸟到老鸟-教你玩转Mac操作
根据提供的文件信息,我们可以推断出这是一套关于Android Studio 1.3.1的教学视频资料,主要面向初学者到进阶用户。接下来,我们将基于这些信息深入探讨相关的知识点。 ### Android Studio 1.3.1简介 Android ...
### 知识点一:Android 开发环境搭建 #### 1.1 了解 Android 开发环境的基本构成 - **操作系统**:本教程基于 Windows 7 操作系统进行讲解。 - **JDK(Java Development Kit)**:安装 JDK 1.7 或更高版本,因为 ...
android-emulator-webrtc 它包含一组React组件,可用于从浏览器与android模拟器进行交互。 它旨在与连接到正在运行的仿真器的一起使用。 有关如何运行可通过网络访问的仿真器的示例,请参见脚本。 npm install --...
这个压缩包包含了版本18和19的SDK,分别对应Android 4.3 (API Level 18) 和 Android 4.4 (API Level 19)。在Android开发过程中,了解并掌握不同版本的SDK是非常关键的,因为每个版本都有其特定的特性和功能改进。 *...
Android课程设计-计菜鸟裹裹app源代码+文档说明菜鸟裹裹主要包括1.支付宝快速登录2.支付宝注册3.手机淘宝登录,手机登录4.首页-校园认证5.首页-包裹搜索,首页-添加包裹6.首页-扫一扫7.首页-身份码8.首页-寄万物,寄...
在《职场菜鸟升职记》这部作品中,作者通过主人公的视角展现了作为一名职场新人所应有的态度。开篇即强调“我是菜鸟”的心态,这种心态不仅意味着对自身能力的认知和定位,更是一种积极向上、勇于学习的态度。它鼓励...
android-json-0.0.20131108.vaadin1.jar
手打从菜鸟到入门--电脑篇 此文章推荐刚刚接触电脑的朋友们阅读,书籍会更新,属于网络文章,相信对大多数网友会有帮助!
菜鸟飞飞飞-微服务架构的想法
STM32菜鸟学习手册-罗嗦版 。
《Delphi7教程之菜鸟先飞版--帮你打通任督二脉(第1式)》是一份专为初学者设计的教程,旨在帮助新手快速掌握Delphi7编程的基础知识和技巧。Delphi7是一款强大的Windows应用程序开发工具,以其高效的代码生成、直观的...
《CCNA菜鸟笔记640-802》是一份针对初学者的全面学习资源,包含两部分:《CCNA菜鸟笔记2007修正版》和《CCNA 640-802课程讲义》。这些文档旨在帮助读者理解和掌握Cisco Certified Network Associate(CCNA)认证考试...
中国移动-杨琛-从菜鸟到骨灰-研发质量管理和测试效能演进之路
在“我的电脑”中右键点击,选择设备管理器,找到“Android设备”或“未知设备”(如果没有正确识别可能会显示为这个)。然后右键点击,选择“更新驱动程序软件(p)”。 在弹出的窗口中,选择“浏览我的电脑以查找...
默认情况下,Android Studio会自动为你生成相关的Java代码,包含一句"Hello, World!"的打印语句。 完成这些步骤后,项目就会被创建。现在你可以运行你的应用了。在顶部菜单栏,点击"Run"按钮,然后选择要运行的设备...