当前位置: 编程技术>移动开发
本页文章导读:
▪在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" />
<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);
}
public void updateTitle(int i){
this.setTitle("HelloPop:"+i);
}
6.5. emulator 运行截图:
最新技术文章: