当前位置:  编程技术>移动开发
本页文章导读:
    ▪自定义RadioButton式样1        自定义RadioButton样式1 主要是布局: <?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" andro.........
    ▪ setContentview后,单击事件不可用的解决办法        setContentview后,单击事件不可用的解决方法      今天做一个小程序时,中间界面的切换全部用了setContentview(int  id) 这个方法来实现。 然后,当我的有个需求就是需要点击返回按钮,返.........
    ▪ 多个layout界面其间的切换       多个layout界面之间的切换 屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。 通过查看OPhone AP.........

[1]自定义RadioButton式样1
    来源: 互联网  发布时间: 2014-02-18
自定义RadioButton样式1


主要是布局:
<?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"
    >
	<RadioGroup android:gravity="center"
		android:layout_gravity="bottom" 
		android:orientation="horizontal"
		android:layout_width="fill_parent" 
		android:layout_height="wrap_content" >
		<RadioButton 
		    android:id="@+id/btn_0"
			android:textSize="17.0sp" 
			android:textColor="@android:color/black"
			android:text="搜索微博"
			android:layout_weight="1" 
			android:button="@null"
			android:checked="true"
			android:drawableLeft="@drawable/state_radio"
			android:background="@drawable/state_btn"
			android:gravity="center_vertical"
			>
		</RadioButton>
		<RadioButton 
		    android:id="@+id/btn_1"
			android:textSize="17.0sp" 
			android:textColor="@android:color/black"
			android:text="搜索用户"
			android:layout_weight="1" 
			android:button="@null"
			android:drawableLeft="@drawable/state_radio"
			android:background="@drawable/state_btn"
			android:gravity="center_vertical"
			>
		</RadioButton>
	</RadioGroup>
</LinearLayout>

其中state_radio.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
	xmlns:android="http://schemas.android.com/apk/res/android"
	>
	<item
		android:state_focused="false"
		android:state_checked="false"
		android:state_pressed="false"
		android:drawable="@drawable/bg_radio"
		>
	</item>
	<item
		android:state_focused="false"
		android:state_checked="true"
		android:state_pressed="false"
		android:drawable="@drawable/bg_radio_selected"
		>
	</item>
	<item
		android:state_focused="true"
		android:state_checked="false"
		android:state_pressed="false"
		android:drawable="@drawable/bg_radio_onfocus"
		>
	</item>
	<item
		android:state_focused="true"
		android:state_checked="true"
		android:state_pressed="false"
		android:drawable="@drawable/bg_radio_onfocus_selected"
		>
	</item>
</selector>

state_btn.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
       <item android:state_window_focused="false"      
             android:drawable="@drawable/bg_btn"/>  
       <item android:state_focused="true" android:state_pressed="true"         
             android:drawable="@drawable/bg_btn_selected" />  
       <item android:state_focused="false" android:state_pressed="true"    
             android:drawable="@drawable/bg_btn_selected" />  
</selector>


上面的写法有点拖沓,采用style可能会更简单:
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="CustomTheme" parent="android:Theme"> 
   <item name="android:radioButtonStyle">@style/RadioButton</item> 
</style> 
<style name="RadioButton" parent="@android:style/Widget.CompoundButton.RadioButton"> 
   <item name="android:button">@drawable/radio</item> 
</style> 
</resources> 

radio.xml:
<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" android:state_window_focused="false" 
        android:drawable="@drawable/radio_hover" /> 
    <item android:state_checked="false" android:state_window_focused="false" 
        android:drawable="@drawable/radio_normal" /> 
    <item android:state_checked="true" android:state_pressed="true" 
        android:drawable="@drawable/radio_active" /> 
    <item android:state_checked="false" android:state_pressed="true" 
        android:drawable="@drawable/radio_active" /> 
    <item android:state_checked="true" android:state_focused="true" 
        android:drawable="@drawable/radio_hover" /> 
    <item android:state_checked="false" android:state_focused="true" 
        android:drawable="@drawable/radio_normal_off" /> 
    <item android:state_checked="false" android:drawable="@drawable/radio_normal" /> 
    <item android:state_checked="true" android:drawable="@drawable/radio_hover" /> 
</selector> 
1 楼 awen_PC 2011-11-03  
非常的强大

    
[2] setContentview后,单击事件不可用的解决办法
    来源: 互联网  发布时间: 2014-02-18
setContentview后,单击事件不可用的解决方法

     今天做一个小程序时,中间界面的切换全部用了setContentview(int  id) 这个方法来实现。 然后,当我的有个需求就是需要点击返回按钮,返回到上层菜单时,发现setContentview之后,所有Button的监听器似乎都失灵了。

查了一些资料,发现自己对于setContentview这个方法自己没有理解好, 原来一直都是使用这个setContentview(int  id) 来切换界面,但是这一次我的Activy生成之后, 如果仅仅setContentview(int  id),那么View需要重新绘制,上面的Button也就不存在了原来注册的监听器。 熟悉setContentview这个方法的朋友都知道,这个方法还有一个重载方法
setContentview(View  v),传递view参数,就可以实现界面切换时, 同时重绘了VIEW

具体实现:
  LayoutInflater inflater = getLayoutInflater();
 View layout = inflater.inflate(R.layout.myxml,null);
上篇博客中提到了这个LayoutInflater ,这个类简单来说是查找layout文件夹下面的xml文件,功能类似的有findViewByid(查找xml文件里的控件),然后通过第二句代码生成一个View对象
接着,我们就可以setContentview(layout )来实现切换界面了,这样一来,我们那个layout 里面的控件的单击事件就还是可以使用啦。


    
[3] 多个layout界面其间的切换
    来源: 互联网  发布时间: 2014-02-18
多个layout界面之间的切换

屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。


通过查看OPhone API文档可以发现,有个android.widget.ViewAnimator类继承至FrameLayout,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果。该类有如下几个和动画相关的函数:
l setInAnimation:设置View进入屏幕时候使用的动画,该函数有两个版本,一个接受单个参数,类型为android.view.animation.Animation;一个接受两个参数,类型为Context和int,分别为Context对象和定义Animation的resourceID。
 
  • setOutAnimation: 设置View退出屏幕时候使用的动画,参数setInAnimation函数一样。
  • showNext: 调用该函数来显示FrameLayout里面的下一个View。
  • showPrevious: 调用该函数来显示FrameLayout里面的上一个View。
 
一般不直接使用ViewAnimator而是使用它的两个子类ViewFlipper和ViewSwitcher。ViewFlipper可以用来指定FrameLayout内多个View之间的切换效果,可以一次指定也可以每次切换的时候都指定单独的效果。该类额外提供了如下几个函数:
 
  • isFlipping: 用来判断View切换是否正在进行
  • setFilpInterval:设置View之间切换的时间间隔
  • startFlipping:使用上面设置的时间间隔来开始切换所有的View,切换会循环进行
  • stopFlipping: 停止View切换
ViewSwitcher 顾名思义Switcher特指在两个View之间切换。可以通过该类指定一个ViewSwitcher.ViewFactory 工程类来创建这两个View。该类也具有两个子类ImageSwitcher、TextSwitcher分别用于图片和文本切换。
在教程中通过示例介绍ViewFlipper 的使用,其他的使用方式是类似的。详细信息可以参考文档:
http://androidappdocs-staging.appspot.com/reference/android/widget/ViewAnimator.html
 
ViewFlipper示例
记住,ViewFlipper是继承至FrameLayout的,所以它是一个Layout里面可以放置多个View。在示例中定义一个ViewFlipper,里面包含三个ViewGroup作为示例的三个屏幕,每个ViewGroup中包含一个按钮和一张图片,点击按钮则显示下一个屏幕。代码如下(res\layout\main.xml):
view plaincopy to clipboardprint?
  • <?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">   
  •     <ViewFlipper android:id="@+id/details"  
  •        android:layout_width="fill_parent"    
  •        android:layout_height="fill_parent"  
  •        android:persistentDrawingCache="animation"  
  •        android:flipInterval="1000"  
  •        android:inAnimation="@anim/push_left_in"  
  • android:outAnimation="@anim/push_left_out"  
  • >    
  •        <LinearLayout   
  •            android:orientation="vertical"  
  •            android:layout_width="fill_parent"    
  •            android:layout_height="fill_parent">   
  •            <Button   
  •               android:text="Next"    
  •               android:id="@+id/Button_next1"  
  •               android:layout_width="fill_parent"    
  •               android:layout_height="wrap_content">   
  •            </Button>   
  •            <ImageView   
  •               android:id="@+id/image1"    
  •               android:src="/blog_article/@drawable/dell1/index.html"  
  •               android:layout_width="fill_parent"  
  •               android:layout_height="wrap_content">   
  •            </ImageView>   
  •        </LinearLayout>   
  •     
  •        <LinearLayout   
  •            android:orientation="vertical"  
  •            android:layout_width="fill_parent"    
  •            android:layout_height="fill_parent">   
  •            <Button   
  •               android:text="Next"    
  •               android:id="@+id/Button_next2"  
  •               android:layout_width="fill_parent"    
  •               android:layout_height="wrap_content">   
  •            </Button>   
  •            <ImageView   
  •               android:id="@+id/image2"    
  •               android:src="/blog_article/@drawable/lg/index.html"  
  •               android:layout_width="fill_parent"  
  •               android:layout_height="wrap_content">   
  •            </ImageView>   
  •        </LinearLayout>   
  •           
  •        <LinearLayout   
  •            android:orientation="vertical"  
  •            android:layout_width="fill_parent"    
  •            android:layout_height="fill_parent">   
  •            <Button   
  •               android:text="Next"    
  •               android:id="@+id/Button_next3"  
  •               android:layout_width="fill_parent"    
  •               android:layout_height="wrap_content">   
  •            </Button>   
  •            <ImageView   
  •               android:id="@+id/image3"    
  •               android:src="/blog_article/@drawable/lenovo/index.html"  
  •               android:layout_width="fill_parent"  
  •               android:layout_height="wrap_content">   
  •            </ImageView>   
  •        </LinearLayout>   
  •     
  •     </ViewFlipper>   
  •     
  • </LinearLayout>  
  •  
    很简单,在Layout定义中指定动画的相关属性就可以了,通过persistentDrawingCache指定缓存策略;flipInterval指定每个View动画之间的时间间隔;inAnimation和outAnimation分别指定View进出使用的动画效果。动画效果定义如下:
    view plaincopy to clipboardprint?
  • res\anim\push_left_in.xml   
  • <?xml version="1.0" encoding="utf-8"?>   
  • <set xmlns:android="http://schemas.android.com/apk/res/android">   
  •     <translate   
  •     android:fromXDelta="100%p"    
  •     android:toXDelta="0"    
  •     android:duration="500"/>   
  •     <alpha   
  •     android:fromAlpha="0.0"    
  •     android:toAlpha="1.0"  
  •     android:duration="500" />   
  • margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: solid; bor
  • 相关
    • 1 多个Activity其间的切换与数据交互
    • 2 图片其间的切换
    • 3 Activity其间的切换动画
    • 4 Activity其间实现动画的切换
    • 5 不同Activity其间的切换
    移动开发-热门移动开发-最新移动开发-其它
    • 1 十分难缠的signal 11 (SIGSEGV)
    • 2 Can't create handler inside thread that has not called Looper.prepare() 错误有关问题
    • 3 Dex Loader Unable to execute Multiple dex files define解决办法
    • 4 解决 Google Play下载施用 "Google Play Store 已停止运行&quot
    • 5 WAP网页获得用户的手机号码
    • 6 如何判断Activity是否在运行
    • 7 SlidingMenu+ViewPager兑现侧滑菜单效果
    • 8 makeKeyAndVisible的功用
    • 9 关于Unable to execute dex: Java heap space 解决方法
    • 10 RelativeLayout设置居中对齐有关问题
    • 1 播发声音文件AVAudioPlayer
    • 2 改变银屏显示方式已经加载图片
    • 3 2013-十-31 TCP/IP 协议簇
    • 4 Java I/零 总体框架图
    • 5 拿碗的铠甲勇者
    • 6 女友可能出轨 想知道在QQ和别人的聊天记录
    • 7 objective C中的字符串(3)
    • 8 java.lang.ClassNotFoundException: Didn't find class "Activity" on path: /da
    • 9 LG Optimus G Pro 相干
    • 10 怎么创建对话框
    • 1 power键跟音量键组合实现截图功能
    • 2 实现默认文字统制的textview
    • 3 视图切换的形式
    • 4 Andriod耗时操作的处置(音乐播放器欢迎界面)
    • 5 深入viewgroup.onintercepttouchevent1点
    • 6 用 lipo 下令裁剪出需要的 architecture
    • 7 MGTemplateEngine模版发动机
    • 8 Tiledmap编辑操作技巧
    • 9 疑惑为什么报错了
    • 10 BroadcastReceiver要领
    • 上一篇: setContentview后,单击事件不可用的解决办法
    • 下一篇: 获取银屏分辨率


        
    最新技术文章:
    ▪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