`
zhangfy068
  • 浏览: 148397 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android应用的资源

 
阅读更多



 一、LayerDrawable

1、定义layout_logo.xml,可以放一个drawable数组,即多个item 使用android:left|top|bottom|right来制定目标组件的位置。最下的Item被绘制在最上面。

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
        
      <bitmap android:src="@drawable/icon" 
        android:gravity="center" /> 
    </item> 
    <item android:top="25dp" android:left="25dp"> 
      <bitmap android:src="@drawable/icon" 
        android:gravity="center" /> 
    </item> 
    <item android:top="50dp" android:left="50dp"> 
      <bitmap android:src="@drawable/icon" 
        android:gravity="center" /> 
    </item> 
</layer-list>

 定义一个自定义进度条

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
	<!-- 定义轨道的背景 -->
	<item android:id="@android:id/background"
		android:drawable="@drawable/grow" />
	<!-- 定义轨道上已完成部分的外观-->
	<item android:id="@android:id/progress"
		android:drawable="@drawable/ok" />
</layer-list>     

 

 

2、使用方法

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	>
<!-- 定义一个拖动条,并改变轨道外观 -->
<SeekBar
 	android:layout_width="fill_parent" 
	android:layout_height="wrap_content"
	android:max="100"
	android:progressDrawable="@drawable/my_bar"
	style="@android:style/Widget.ProgressBar.Horizontal"
	/>
<ImageView
 	android:layout_width="wrap_content" 
	android:layout_height="wrap_content"
	android:src="@drawable/layout_logo"
	/>
</LinearLayout>

 

 

二、StateListDrawabl。。随目标组件状态的变化而自动切换

根元素为<selector..../>

 

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<!-- 指定获得焦点时的颜色 -->
	<item android:state_focused="true"
		android:color="#f44"
	/>
	<!-- 指定失去焦点时的颜色 -->
	<item android:state_focused="false"
		android:color="#111"
	/>
</selector>

 


 
 三、ShapeDrawer资源

用于定义一个基本的几何图形(如矩形、圆形、线条等)根元素为<shape.../>

android:shape rectangle oval line ring。

 

 

shape1

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
	android:shape="rectangle">
	<!-- 设置填充颜色 -->
	<solid android:color="#fff"/>
	<!-- 设置四周的内边距 -->
	<padding android:left="7dp" 
		android:top="7dp" 
		android:right="7dp" 
		android:bottom="7dp" />
	<!-- 设置边框 -->
	<stroke android:width="3dip" android:color="#ff0" />
</shape>

 
 shape2

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
	android:shape="rectangle">
	<!-- 定义填充渐变颜色 -->
	<gradient 
		android:startColor="#FFFF0000" 
		android:endColor="#80FF00FF" 
		android:angle="45"/> 
	<!-- 设置内填充 -->
	<padding android:left="7dp" 
		android:top="7dp" 
		android:right="7dp" 
		android:bottom="7dp" />
	<!-- 设置圆角矩形 -->
	<corners android:radius="8dp" /> 
</shape>

 

shape3
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
	android:shape="oval">
	<!-- 定义填充渐变颜色 -->
	<gradient 
		android:startColor="#ff0" 
		android:endColor="#00f" 
		android:angle="45"
		android:type="sweep"/> 
	<!-- 设置内填充 -->
	<padding android:left="7dp" 
		android:top="7dp" 
		android:right="7dp" 
		android:bottom="7dp" />
	<!-- 设置圆角矩形 -->
	<corners android:radius="8dp" /> 
</shape>
 android:backgroud:设置为定义的shape文件
 
<EditText
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content"
	android:background="@drawable/my_shape_1"
	/>
<EditText
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content"
	android:background="@drawable/my_shape_2"
	/>	
<EditText
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content"
	android:background="@drawable/my_shape_3"
	/>
 效果如图:

 
四、ClipDrawable资源,,从其他位图上的裁剪,,
可以应用在图片进度条上
根元素为<clip.../>
	final ClipDrawable drawable = (ClipDrawable) imageview.getDrawable(); 
// max=10000
//修改ClipDrawable的level值
					drawable.setLevel(drawable.getLevel() + 200);
 五、AnimationDrawable资源 动画资源
<set>为根元素
alpha 透明度的改变
scale缩放改变
translate位移变化
rotate进行旋转
放在/res/anmi路径下。
步骤1 设置开开始状态(透明度、位置、缩放比)
步骤2、设置结束状态
步骤3、设置持续时间
R.anim内置大量常量,linear_interpolator 匀速变化。accelerate_interpolator加速变化,decelerate_interpolator减速变换
java中调用动画资源
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		final ImageView image = (ImageView) findViewById(R.id.image);
		//加载动画资源
		final Animation anim = AnimationUtils
			.loadAnimation(this, R.anim.my_anim);
		//设置动画结束后保留结束状态
		anim.setFillAfter(true);
		Button bn = (Button)findViewById(R.id.bn);
		bn.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View arg0)
			{
				//开始动画
				image.startAnimation(anim);
			}
		});
	
 
 六、使用菜单(menu)布局
 
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:title="@string/font_size"
		android:icon="@drawable/font" android:enabled="true">
		<menu>
			<!-- 定义一组单选菜单项 -->
			<group android:checkableBehavior="single">
				<!-- 定义多个菜单项 -->
				<item
					android:id="@+id/font_10"
					android:title="@string/font_10"/>
				<item
					android:id="@+id/font_12"
					android:title="@string/font_12"/>
				<item
					android:id="@+id/font_14"
					android:title="@string/font_14"/>
				<item
					android:id="@+id/font_16"
					android:title="@string/font_16"/>
				<item
					android:id="@+id/font_18"
					android:title="@string/font_18"/>																
			</group>
			
		</menu>
		
	</item>
		<!-- 定义一个普通菜单项 -->
	<item android:id="@+id/plain_item"
		android:title="@string/plain_item">
	</item>
	<item 
		android:icon="@drawable/color" android:titleCondensed="1234567890asdfghj">
		<menu>
			<!-- 定义一组允许复选的菜单项 -->
			<group android:menuCategory="alternative">
				<!-- 定义3个菜单项 -->
				<item
					android:id="@+id/red_font"
					android:title="@string/red_title"/>
				<item
					android:id="@+id/green_font"
					android:title="@string/green_title"/>
				<item
					android:id="@+id/blue_font"
					android:title="@string/blue_title"/>						
			</group>
		</menu>
	</item>
</menu>

 
 
  • 大小: 52.1 KB
  • 大小: 702.8 KB
  • 大小: 968.6 KB
  • 大小: 80.6 KB
分享到:
评论

相关推荐

    一种对Android应用资源索引表混淆方案的实现.pdf

    总的来说,通过对Android应用资源索引表进行混淆,可以显著提高应用的安全性,防止源码被抄袭、漏洞被利用。未来,结合多种混淆技术,如代码混淆、数据混淆等,可以构建更全面的防护体系,为Android应用提供更强的...

    疯狂android资料:第六章android应用的资源.doc

    在“疯狂android资料:第六章android应用的资源.doc”中,详细介绍了Android应用资源的分类、存储方式以及如何在Java代码和XML文件中使用这些资源。 Android应用的资源主要分为三类:界面布局文件、Java源文件和...

    Android_Res_Export,在Sketch中导出Android资源-PNG资源、应用程序图标、九个补丁图像和矢量绘图。.zip

    综上所述,"Android_Res_Export" 是一个实用的工具,它简化了从Sketch到Android应用资源的转换过程,减少了设计师与开发者之间的工作交接时间,提升了项目的整体效率。通过利用这个开源项目,开发者可以更好地将设计...

    Android资源文件混淆工具

    `resguard-tools`是一个专门用于混淆Android应用资源的工具。该工具需要用户提供一个APK文件和签名文件作为输入,然后它会处理APK中的资源文件,进行混淆操作,并最终生成一个新的、已签名的混淆后的APK。 资源文件...

    《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf

    《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用...

    Android应用程序资源管理框架 PPT

    Android应用程序主要由代码和资源组成。资源主要就是指那些与UI相关的东西,例如UI布局、字符串和图片等。代码和资源分开可以使得应用程序在运行时根据实际需要来组织UI。这样就可使得应用程序只需要编译一次,就...

    Android移动应用开发习题答案.pdf

    Android 移动应用开发习题答案 Android 移动应用开发是指使用 Android 操作系统开发移动应用程序的过程。 Android 作为最流行的移动操作系统之一,拥有庞大的用户群体和丰富的第三方应用程序生态系统。为了帮助...

    Android资源,Android应用程序,Android开发源码,android开发源程序

    Android资源,Android应用程序,Android开发源码,android开发源程序

    android打包工具AndroidResEdit

    《AndroidResEdit:Android应用资源编辑利器》 在Android应用开发过程中,资源管理是一项至关重要的任务,它涉及到应用界面的设计、本地化以及图标和图片的处理等。AndroidResEdit是一款专为Android开发者设计的...

    android应用锁的实现

    在本资源"android应用锁的实现"中,我们可能找到一个简单实现这一功能的示例代码。以下是关于Android应用锁实现的一些关键知识点: 1. **权限管理**:在Android系统中,为了实现应用锁,首先需要获取相应的权限。...

    Android应用程序开发(第三版)课件源程序

    Android应用可以包含各种资源,如字符串、图片、颜色、样式等,这些资源可以通过R类引用,并且可以在不同语言和屏幕尺寸下自动适配。 AndroidManifest.xml文件是应用的配置文件,其中包含了应用的基本信息、所需...

    打造高质量Android应用:Android开发必知的50个诀窍

    资源名称:打造高质量Android应用:Android开发必知的50个诀窍内容简介: 《打造高质量Android应用:Android开发必知的50个诀窍》是目前唯一一本从开发技巧角度讲解Android应用开发的著作,旨在迅速提高开发者解决...

    AndroidResEdit.exe+arsceditor.exe

    AndroidResEdit是一款强大的Android应用资源编辑工具,它允许用户直接修改APK文件中的各种资源,包括字符串、图片、布局等。通过这款工具,开发者或者爱好者可以轻松地更改应用程序的名称、图标、文本等,这对于...

    Android应用开发案例教程

    资源名称:Android应用开发案例教程内容简介:《Android应用开发案例教程(高等学校计算机科学与技术项目驱动案例实践规划教材)》编著者毋建军、徐振东、林瀚。《Android应用开发案例教程(高等学校计算机科学与技术...

    AndroidResEdit.rar

    总的来说,AndroidResEdit是一款强大的Android应用资源编辑工具,它为开发者和汉化爱好者提供了便捷的资源修改和汉化手段。然而,使用任何这类工具时,都需要谨慎对待版权问题,并遵循相关的法律法规,以确保合法...

    Android 应用程序框架

    Android应用程序框架是构建Android应用的核心组成部分,它为开发者提供了丰富的工具和组件,使得开发者能够高效地开发出功能丰富、用户体验良好的移动应用。在Android中,MVC(Model-View-Controller)设计模式是一...

    android开发资源汇总

    - **数据存储**:介绍如何在Android应用中处理数据存储问题,如使用SQLite数据库、SharedPreferences等。 - **网络通信**:涉及HTTP请求、JSON解析等内容,对于开发需要联网功能的应用非常关键。 - **服务与广播接收...

    Android学习资源网址

    部分资源网站提供了详细的Android应用开发案例分析,包括界面设计、功能实现、性能优化等方面,帮助开发者快速上手并提高开发效率。 4. **英文资源**:英语是国际通用的科技语言,掌握一定的英语能力能够帮助开发者...

    android应用案例开发大全(源码)

    在Android应用开发的世界里,源码是学习和提升技能的重要资源。"Android应用案例开发大全(源码)"提供了一套完整的案例集,旨在帮助开发者深入理解Android平台上的应用程序设计和实现。这些案例覆盖了从基础功能到...

Global site tag (gtag.js) - Google Analytics