SKY外语计算机学习
标题:
Android用代码截屏的方法
[打印本页]
作者:
回忆搁浅
时间:
2012-10-29 17:19
标题:
Android用代码截屏的方法
本帖最后由 rogan 于 2012-10-31 12:21 编辑
今天在公司自己弄android的功能, 主要是要用到android的截屏功能,自己摸索了下,下面就来分享下我的代码。
首先 建立的ScreenshotDemoActivity 代码如下:
package com.lyc.test;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class ScreenshotDemoActivity extends Activity {
private Button shotButton;
private ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
shotButton=(Button)findViewById(R.id.shotButton);
imageView=(ImageView)findViewById(R.id.imageView);
shotButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Bitmap-->Drawable
BitmapDrawable bd=new BitmapDrawable(shot());
imageView.setBackgroundDrawable(bd);
// imageView.setImageBitmap(shot());
}
});
}
/**
* 截屏方法
* @return
*/
private Bitmap shot() {
View view = getWindow().getDecorView();
Display display = this.getWindowManager().getDefaultDisplay();
view.layout(0, 0, display.getWidth(), display.getHeight());
view.setDrawingCacheEnabled(true);//允许当前窗口保存缓存信息,这样getDrawingCache()方法才会返回一个Bitmap
Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache());
return bmp;
}
}
androidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="[url=http://schemas.android.com/apk/res/android]http://schemas.android.com/apk/res/android[/url]"
package="com.lyc.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".ScreenshotDemoActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[url=http://schemas.android.com/apk/res/android]http://schemas.android.com/apk/res/android[/url]"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="350dip"
/>
<Button android:id="@+id/shotButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="shot"/>
<EditText
android:id="@+id/editText1"
android:layout_width="167dp"
android:layout_height="18dp" >
<requestFocus />
</EditText>
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton" />
</LinearLayout>
复制代码
当点击button按钮的时候,就会截图,本地图片不知道怎么上传, 就不传,效果了、 你们可以去试下、
作者:
rogan
时间:
2012-10-31 12:22
这个不错
作者:
流氓
时间:
2012-11-2 20:17
( ^_^ )不错嘛 期待更多好东西
作者:
sky7987
时间:
2013-10-19 17:01
嗯嗯 不错 期待 更多。。。
欢迎光临 SKY外语计算机学习 (http://join.skywj.com/)
Powered by Discuz! X2.5