当前位置:  编程技术>移动开发
本页文章导读:
    ▪在canvas下画图保存成jpg        在canvas上画图保存成jpg Bitmap bitmap = Bitmap.createBitmap( view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); view.draw(canvas); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);   ......
    ▪ BB创建透明的Bit地图        BB创建透明的Bitmap  版权所有,欢迎转载,转载请注明 : SinFrancis  http://mdev.cc   合成图片需要透明的Bitmap ,代码如下 :   Bitmap bitmap = new Bitmap(imageWidth, imageHeight); bitmap.createAlpha(Bitmap.ALPHA.........
    ▪ PopupWindow 应用及延伸       PopupWindow 使用及延伸 PopupWindow   [功能] PopupWindow 作为一种用户提醒 而且其开销也比Activity要小     [代码 步骤] 1. 定义布局 供PopupWindow使用 如:hello.xml   <?xml version="1.0" encoding="utf-8"?> &l.........

[1]在canvas下画图保存成jpg
    来源: 互联网  发布时间: 2014-02-18
在canvas上画图保存成jpg
Bitmap  bitmap = Bitmap.createBitmap( view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(bitmap); 
view.draw(canvas);  
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);  

 


    
[2] BB创建透明的Bit地图
    来源: 互联网  发布时间: 2014-02-18
BB创建透明的Bitmap

 版权所有,欢迎转载,转载请注明 : SinFrancis  http://mdev.cc

 

合成图片需要透明的Bitmap ,代码如下 :

 

	Bitmap bitmap = new Bitmap(imageWidth, imageHeight);
		bitmap.createAlpha(Bitmap.ALPHA_BITDEPTH_8BPP); // create the alpha
		// channel
		int data[] = new int[imageWidth * imageHeight];
		bitmap.getARGB(data, 0, imageWidth, 0, 0, imageWidth, imageHeight);
		for (int i = 0; i < data.length; i++) {
		//	if(data[i]==0xFFFF00FF)
				data[i]=0x00000000;
			//data[i] = 0x00FFFFFF; // this should set transparency to fully,如果使用这个值,在画文字的时候会出现字体上有红白点的情况
			// transparent
		}
		bitmap.setARGB(data, 0, imageWidth, 0, 0, imageWidth, imageHeight);
	//	Bitmap bitmap=Bitmap.getBitmapResource("yang1.png"); 
		Graphics graphics = Graphics.create(bitmap);

 


    
[3] PopupWindow 应用及延伸
    来源: 互联网  发布时间: 2014-02-18
PopupWindow 使用及延伸

PopupWindow

 

[功能]

PopupWindow 作为一种用户提醒 而且其开销也比Activity要小

 

 

[代码 步骤]

1. 定义布局 供PopupWindow使用 如:hello.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    >
<ImageView  
	android:id="@+id/image"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="/blog_article/@drawable/robot/index.html" />
<LinearLayout 
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="20dip"
    >
<TextView  
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="HelloPop!"
    />
<Button  
	android:id="@+id/helloButton"
    android:layout_width="100dip" 
    android:layout_height="wrap_content" 
    android:text="OK"
    />
 </LinearLayout>
</LinearLayout>

 

 

2. 通过LayoutInflater 得到hello.xml 的 View view

view = this.getLayoutInflater().inflate(R.layout.hello, null);

 

3. 创建PopupWindow pop 使用上面布局文件view

pop = new PopupWindow(view,500,200);

 

4. 弹出PopupWindow

* 定义布局文件:main.xml 包括一个Button

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/main"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="pop demo!"
    />
<Button  
	android:id="@+id/button"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="to pop!"
    />
</LinearLayout>

 

 

* 弹出:有2种方式:一个是下拉方式 一个是指定位置

- 下拉:

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            
            public void onClick(View v) {
                    // TODO Auto-generated method stub
            	pop.showAsDropDown(v);
            }
  
    });

 

 

- 指定位置:

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            
            public void onClick(View v) {
                    // TODO Auto-generated method stub
            	pop.showAtLocation(findViewById(R.id.main), Gravity.CENTER, 20, 20);
            	
            }
  
    });

 

 

5. 取消

view.findViewById(R.id.helloButton).setOnClickListener(new View.OnClickListener() {
            
            public void onClick(View v) {
                    // TODO Auto-generated method stub
            	pop.dismiss();
            	
            }
  
    });

 

6. 其他问题:

* 发现很多人对PopupWindow 里面包含ListView后 对具体哪个item被点击的获取有疑问 所以就顺便测试一下 发现和普通用法一样啊 没什么特别之处啊 现在把用法和大家分享分享

 

写道
因为ListView是展开显示的 会导致不美观 所以以Spinner为例

 

 

6.1. 定义包含Spinner 的布局文件 hello.xml

<?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"
    >
<LinearLayout 
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
<ImageView  
	android:id="@+id/image"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="/blog_article/@drawable/robot/index.html" />
<TextView  
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="HelloPop!"
    />
</LinearLayout>
<Spinner 
        android:id="@+id/spinner" 
        android:layout_width="wrap_content" 
        android:layout_height="40dip"/>
</LinearLayout>

 

6.2. 得到Spinner的实例:spinner

spinner = (Spinner)view.findViewById(R.id.spinner);

 

6.3. 绑定Spinner与具体数据 本例以联系人为例

public void specifySpinner(){
    	Cursor c = getContentResolver().query(People.CONTENT_URI, 
                null, null, null, null);
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
                android.R.layout.simple_list_item_1,c, 
                new String[] {People.NAME}, 
                new int[] {android.R.id.text1});
        adapter.setDropDownViewResource(
                android.R.layout.simple_spinner_dropdown_item);
        
        
        spinner.setAdapter(adapter);
    }

 

写道
别忘了联系人访问权限:

<uses-permission android:name="android.permission.READ_CONTACTS" />

 

6.4. 具体item的获取:

spinner.setOnItemSelectedListener(new OnItemSelectedListener(){

            public void onItemSelected(AdapterView<?> adapter,View v,
                    int pos, long id) {
            	updateTitle(pos);
            }

			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub
				
			}

        });

 

写道
updateTitle(int) 用来把位置在标题中显示

public void updateTitle(int i){
this.setTitle("HelloPop:"+i);
}

 

 

6.5. emulator 运行截图:

 

 


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