当前位置:  编程技术>移动开发
本页文章导读:
    ▪activity页面切换成效        activity页面切换效果 百叶窗的效果1.在要设置的控件中添加android:persistentDrawingCache="animation|scrolling" android:layoutAnimation="@anim/list" 2.list.xml<?xml version="1.0" encoding="utf-8"?><layoutAnimation xmlns.........
    ▪ 应用LayoutInflater动态加载布局和操作控件        使用LayoutInflater动态加载布局和操作控件 转自(http://www.blogjava.net/improviser/archive/2010/10/29/336476.html) 我们知道在Android中通过布局文件来描述软件的界面,而通常在Activity中都是使用setContentView().........
    ▪ EditTextPreference 初记       EditTextPreference 小记 今天在做项目的时候遇到一个需求,需要设置一个电话号码,并保存起来。理所当然地想到了SharedPreference,在UI上需要显示一行电话号码,点击后弹出电话号码的编辑.........

[1]activity页面切换成效
    来源: 互联网  发布时间: 2014-02-18
activity页面切换效果
百叶窗的效果
1.在要设置的控件中添加
android:persistentDrawingCache="animation|scrolling" android:layoutAnimation="@anim/list"
2.list.xml
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="30%"
android:animationOrder="reverse"
android:animation="@anim/scale" />
3.scale.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<scale
android:fromXScale="1"
android:toXScale="1"
android:fromYScale="0.1"
android:toYScale="1.0"
android:duration="500"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="100" />
<!-- 尺寸伸缩动画效果 scale
       属性:interpolator 指定一个动画的插入器
        在我试验过程中,使用android.res.anim中的资源时候发现
        有三种动画插入器:
            accelerate_decelerate_interpolator  加速-减速 动画插入器
            accelerate_interpolator        加速-动画插入器
            decelerate_interpolator        减速- 动画插入器
        其他的属于特定的动画效果
      浮点型值:
         
            fromXScale 属性为动画起始时 X坐标上的伸缩尺寸   
            toXScale   属性为动画结束时 X坐标上的伸缩尺寸     
        
            fromYScale 属性为动画起始时Y坐标上的伸缩尺寸   
            toYScale   属性为动画结束时Y坐标上的伸缩尺寸   
        
            说明:
                 以上四种属性值   
   
                    0.0表示收缩到没有
                    1.0表示正常无伸缩     
                    值小于1.0表示收缩  
                    值大于1.0表示放大
        
            pivotX     属性为动画相对于物件的X坐标的开始位置
            pivotY     属性为动画相对于物件的Y坐标的开始位置
        
            说明:
                    以上两个属性值 从0%-100%中取值
                    50%为物件的X或Y方向坐标上的中点位置
        
        长整型值:
            duration  属性为动画持续时间
            说明:   时间以毫秒为单位

        布尔型值:
            fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用
4.scale 渐变尺寸伸缩动画效果
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="0.0"
android:toXScale="1.4"
android:fromYScale="0.0"
android:toYScale="1.4"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:startOffset="700"
android:duration="7000"
android:repeatCount="1"
/>
</set>
5.translate 画面转换位置移动动画效果
    <translate
android:fromXDelta="0"
android:toXDelta="-80"
android:fromYDelta="-60"
android:toYDelta="300"
android:duration="2000"
/>
fromXDelta
toXDelta 为动画、结束起始时 X坐标上的位置
fromYDelta
toYDelta 为动画、结束起始时 Y坐标上的位置


6.rotate 画面转移旋转动画效果
<rotate
android:interpolator=”@android:anim/accelerate_decelerate_interpolator”
android:fromDegrees=”0″
android:toDegrees=”+350″
android:pivotX=”50%”
android:pivotY=”50%”
android:duration=”3000″ />
fromDegrees 为动画起始时物件的角度 说明
当角度为负数——表示逆时针旋转
当角度为正数——表示顺时针旋转
(负数from——to正数:顺时针旋转)
(负数from——to负数:逆时针旋转)
(正数from——to正数:顺时针旋转)
(正数from——to负数:逆时针旋转)
toDegrees 属性为动画结束时物件旋转的角度 可以大于360度
pivotX
pivotY 为动画相对于物件的X、Y坐标的开始位 说明:以上两个属性值 从0%-100%中取值
50%为物件的X或Y方向坐标上的中点位置
(2)http://www.iteye.com/topic/1116472

    
[2] 应用LayoutInflater动态加载布局和操作控件
    来源: 互联网  发布时间: 2014-02-18
使用LayoutInflater动态加载布局和操作控件

转自(http://www.blogjava.net/improviser/archive/2010/10/29/336476.html)

我们知道在Android中通过布局文件来描述软件的界面,而通常在Activity中都是使用setContentView()来将布局显示出来。但是如果我们在非Activity的情况下,而且需要对布局中的控件进行设置等操作,该如何处理呢?这就需要使用到动态加载布局LayoutInflater,下面ATAAW.COM来做介绍。

以一个简单布局example.xml为例,里面只有一个按钮和一个文本显示框控件。

<TextView
android:id="@+id/tview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="ATAAW.COM"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="按钮"
/>

在程序中动态加载以上布局。

LayoutInflater flater = LayoutInflater.from(this);
View view = flater.inflate(R.layout.example, null);

获取布局中的控件。

button = (Button) view.findViewById(R.id.button);   
textView = (TextView)view.findViewById(R.id.tview);

为Button添加事件监听。

button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
    textView.setText("WWW.ATAAW.COM");
   }
});

一般情况下,LayoutInflater在定义适配器中使用的比较多,例如我们可以为适配器定义布局,继而在适配器的设计中对控件进行数据绑定等设置操作。


    
[3] EditTextPreference 初记
    来源: 互联网  发布时间: 2014-02-18
EditTextPreference 小记
今天在做项目的时候遇到一个需求,需要设置一个电话号码,并保存起来。理所当然地想到了SharedPreference,在UI上需要显示一行电话号码,点击后弹出电话号码的编辑框,编辑后保存,然后编辑框关闭,当前页面的号码要刷新为编辑后的号码。查阅了下doc,发现android.preference.EditTextPreference能满足我的需要,即用之。
一开始代码如下:
public class CusSerSetting extends PreferenceActivity{
	
	
	public void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		
		setPreferenceScreen(createPreferenceHierarchy());
	}

	private PreferenceScreen createPreferenceHierarchy() {
        // Root
        PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
                
        // Dialog based preferences
        PreferenceCategory dialogBasedPrefCat = new PreferenceCategory(this);
        dialogBasedPrefCat.setTitle(R.string.tel);
        root.addPreference(dialogBasedPrefCat);

        // Edit text preference
        final EditTextPreference editTextPref = new EditTextPreference(this);
        editTextPref.setDialogTitle(R.string.tel);
        editTextPref.setKey("SEYA_KEY");
        editTextPref.setTitle(R.string.tel);
        //get saved tel number and set it to current text view.
        editTextPref.setSummary(editTextPref.getText());
        
        dialogBasedPrefCat.addPreference(editTextPref);
        
        editTextPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
			@Override
			public boolean onPreferenceChange(Preference preference, Object newValue) {
				editTextPref.setSummary(newValue.toString());
				return true;
			}
		}
        );
        
        return root;
    }
}



实际运行时却发现进入该页面的时候取不到之前存储的号码,但在弹出框里面却能够显示之前存储的号码。经过几次三番的调试,发现是取值时间的问题,把editTextPref.setSummary(editTextPref.getText());
放在dialogBasedPrefCat.addPreference(editTextPref);之后调用就好了。感觉是在addPreference(...)之后editTextPref才获取到text的值的。正好手边有android sdk的源码,便分析了以下。分析后发现的确如此。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3