当前位置:  编程技术>移动开发
本页文章导读:
    ▪UITableViewCell的应用——自定义tableView视图        UITableViewCell的使用——自定义tableView视图 视图需要我们自己去定义样式时用到了TableViewCell组件,效果如下首先创建View Based App工程,在.xib文件中拖入一个Table View,前面我们说到了,这里就不.........
    ▪ 自定义式样(style)与主题(theme)        自定义样式(style)与主题(theme) Android提供了许多可视的组件。通过自定义样式和主题,可以避免用这些组件开发的应用看上去千篇一律。样式和主题都是通过预定义一系列属性值来形成统一的.........
    ▪ 禁用button的步骤       禁用button的方法 在AppWidget开发中我们可以使用button,但是却不能是buttondisable为什么呢 RemoteViews不能控制一个button可用和不可用的状态,但是可以控制它的显示与隐藏 因为我们可以利用这个.........

[1]UITableViewCell的应用——自定义tableView视图
    来源: 互联网  发布时间: 2014-02-18
UITableViewCell的使用——自定义tableView视图
视图需要我们自己去定义样式时用到了TableViewCell组件,效果如下

首先创建View Based App工程,在.xib文件中拖入一个Table View,前面我们说到了,这里就不再重复,注意连接协议和两个必须方法的实现。完成.h中代码
#import <UIKit/UIKit.h>
@interface TableViewCellViewController : UIViewController
			<UITableViewDelegate,UITableViewDataSource>{
				IBOutlet UITableView *tView;
}
@property (nonatomic,retain)UITableView *tView;
@end

完成.m中代码
#import "TableViewCellViewController.h"
#import "MyCell.h"
@implementation TableViewCellViewController
@synthesize tView;
- (void)viewDidLoad {
    [super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}
- (void)dealloc {
	[tView release];
    [super dealloc];
}
-(NSInteger) tableView:(UITableView *)tableView
 numberOfRowsInSection:(NSInteger)section
{
	return 9;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
	static NSString *CellIdentifier = @"CustomCellIdentifier";
    MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
		NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"mycell" owner:self options:nil];
		cell = [array objectAtIndex:0];
		[cell setSelectionStyle:UITableViewCellSelectionStyleGray];
    }
	[[cell lable] setText:@"31"];
	[[cell lable1] setText:@"Raul"];
	[[cell myImage] setImage:[UIImage imageNamed:@"3316.jpg"]];
	return cell;
}
- (CGFloat)tableView:(UITableView *)atableView heightForRowAtIndexPath:(NSIndexPath *)indexPath   
{       
	return 120;
}
@end

若不需要cell则改为:
static NSString *CellIdentifier2 = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier2];
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier2] autorelease];
cell.textLabel.text =@"CCCCCCCC";
[cell.textLabel setFont:[UIFont fontWithName:@"Helvetica" size:16.0f]];
// cell.accessoryView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sign_10x12.png"]];
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
[cell.textLabel setTextColor:[UIColor colorWithRed:0/255.0 green:106/255.0 blue:166/255.0 alpha:1.0]];
return cell;
下面我们新建一个类,注意subclass选择UITableViewCell,名称为MyCell,生成之后再创建相应的xib文件

双击MyCell.xib,将Table View Cell拖入主窗口中,并且删除原主窗口中的View图标

在.h文件中完成代码
#import <UIKit/UIKit.h>
@interface MyCell : UITableViewCell {
	IBOutlet UILabel *lable;
	IBOutlet UILabel *lable1;
	IBOutlet UIImageView *myImage;
}
@property(nonatomic,retain) UILabel *lable;
@property(nonatomic,retain) UILabel *lable1;
@property (nonatomic,retain) UIImageView *myImage;
@end

在.m中完成代码
#import "MyCell.h"
@implementation MyCell
@synthesize lable,lable1,myImage;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) {
        // Initialization code
    }
    return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}
- (void)dealloc {
	[myImage release];
	[lable release];
    [super dealloc];
}
@end

最后我们看一下MyCell.xib中的连接,按住Ctrl拖入将要显示区域的文字和图片找到相应的接口即可。(注意:是myCell和文字和图片连接,不是file’s owner和文字和图片连接,我又犯这个错误了)



    
[2] 自定义式样(style)与主题(theme)
    来源: 互联网  发布时间: 2014-02-18
自定义样式(style)与主题(theme)

Android提供了许多可视的组件。通过自定义样式和主题,可以避免用这些组件开发的应用看上去千篇一律。

样式和主题都是通过预定义一系列属性值来形成统一的显示风格。区别是,样式只能应用于某种类型的View;而主题刚好相反,它不能应用于特定的View,而只能作用于一个或多个Activity,或是整个应用。

以下结合具体例子说明如何定义样式和主题:
1.定义样式和主题
    在工程中res/values/下添加styles.xml

  • <?xml version="1.0" encoding="utf-8"?>
  • <resources>
  • <!-- 定义my_style_1,没有指定parent,用系统缺省的 -->
  • <style name="my_style_1">
  •   <!-- 定义与指定View相关的若干属性 -->
  •   <item name="android:hint">load from style 1</item>
  • </style>

  • <!-- 定义my_style_2,用自定义的my_style_1作为parent -->
  • <style name="my_style_2" parent="@style/my_style_1">
  •   <!-- 定义与指定View相关的若干属性 -->
  •   <item name="android:textSize">30sp</item>
  •   <item name="android:textColor">#FFFF0000</item>
  •   <item name="android:hint">load from style 2</item>
  • </style>

  • <!-- 定义my_style_3,用android的EditText作为parent -->
  • <style name="my_style_3" parent="@android:style/Widget.EditText">
  •   <!-- 定义与指定View相关的若干属性 -->
  •   <item name="android:hint">"load from style 3"</item>
  •   <item name="android:textStyle">bold|italic</item>
  •   <item name="android:typeface">monospace</item>>
  •   <item name="android:background">@drawable/mybackground</item>
  • </style>

  • <!-- 定义MyTheme,用android的Theme作为parent -->
  • <style name="MyTheme" parent="@android:style/Theme">
  •   <item name="android:textSize">20sp</item>
  •   <item name="android:textColor">#FF0000FF</item>
  •   <item name="android:hint">"load from style 3"</item>
  •   <item name="android:textStyle">bold|italic</item>
  •   <item name="android:typeface">monospace</item>>
  •   <item name="android:background">@drawable/gallery_selected_pressed</item>
  •   <item name="myStyle">@style/my_style_3</item>
  • </style>
  • </resources>
  • 复制代码
    主题和样式的定义方法类似,都是在<style>下添加N个<item>。

        <style>下有两个有用的属性:
             name - 以后引用时会用到;
             parent - 可选,一些在自定义的style中没有指定的属性会继承parent style中的值。parent可以是android预定义的resource,也可以是自己定义的style。

        <item>下定义需要改变的属性值。Android中能使用的属性可以在<sdk>/docs/reference/android/R.styleable.html中查到;也可以用自己定义的属性值;

    2.使用主题

    a)从AndroidManifest中指定,可以选择Application应用级: 
        <application android:theme="@style/MyTheme">
    或是Activity级:     <activity android:theme="@style/MyTheme">

    b)从Java代码中指定:
  • public void onCreate(Bundle savedInstanceState) {
  •         super.onCreate(savedInstanceState);
  •        setTheme(R.style.MyTheme);
  •         setContentView(R.layout.main);
  •     }
  • 复制代码
    注意:setTheme必须在setContentView(),addContentView()或inflate()等实例化View的函数之前调用!

    3.使用样式
    a)从layout的xml文件中指定:
  • <EditText android:id="@+id/EditText03" 
  •          
  •           android:layout_width="fill_parent" 
  •           android:layout_height="wrap_content">
  • </EditText>
  • 复制代码
    b)从Java代码中指定:
  • public void onCreate(Bundle savedInstanceState) {
  •         super.onCreate(savedInstanceState);

  •         setTheme(R.style.MyTheme);
  •         setContentView(R.layout.main);
  •         LinearLayout ll = (LinearLayout)findViewById(R.id.llMain);

  •         EditText et = new EditText(this, null, R.attr.myStyle);
  •         ll.addView(et);
  •     }
  • 复制代码

     

    转载:http://www.cnblogs.com/wangtianxj/archive/2010/02/21/1670668.html

     


        
    [3] 禁用button的步骤
        来源: 互联网  发布时间: 2014-02-18
    禁用button的方法

    在AppWidget开发中我们可以使用button,但是却不能是buttondisable为什么呢

    RemoteViews不能控制一个button可用和不可用的状态,但是可以控制它的显示与隐藏

    因为我们可以利用这个造假

     然后呢

    <ButtonAndroid:idButtonAndroid:id="@+id/startbutton"
    android:text="Start"
    android:visibility="visible">
    </Button> 
    <Buttonandroid:idButtonandroid:id="@+id/startbutton_disabled"
    android:text="Start"
    android:clickable="false" 
    androidandroid:textColor="#999999"
    android:visibility="gone">
    </Button> 
    <Buttonandroid:idButtonandroid:id="@+id/stopbutton"
    android:text="Stop"
    android:visibility="gone">
    </Button> 
    <Buttonandroid:idButtonandroid:id="@+id/stopbutton_disabled"
    android:text="Stop"
    android:clickable="false" 
    androidandroid:textColor="#999999"
    android:visibility="visible">
    </Button> 
    
    
    

      
    当点击startbutton的时候 

     

     RemoteViews remoteView=newRemoteView(context.getPackageName(),R.layout.widget); 
     remoteView.setViewVisibility(R.id.startbutton,View.GONE); 
     remoteView.setViewVisibility(R.id.startbutton_disabled,View.VISIBLE);  
     remoteView.setViewVisibility(R.id.stopbutton,View.VISIBLE); 
     remoteView.setViewVisibility(R.id.stopbutton_disabled,View.GONE);
     AppWidgetManager.getInstance(context).updateAppWidget(AppWidgetId,remoteView); 
    

     

     
     

    当点击stopbutton的时候 

    RemoteViewsremoteView=newRemoteViews(context.getPackageName(),R.layout.widget); 
    remoteView.setViewVisibility(R.id.startbutton,View.VISIBLE); 
    remoteView.setViewVisibility(R.id.startbutton_disabled,View.GONE); 
    remoteView.setViewVisibility(R.id.stopbutton,View.GONE);  
    remoteView.setViewVisibility(R.id.stopbutton_disabled,View.VISIBLE); 
    AppWidgetManager.getInstance(context).updateAppWidget(AppWidgetId,remoteView);  
    
    
    

       

    其实通过一个android:clickable="false",还有buuton的隐藏转换造成了视觉的欺骗



     


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