当前位置: 编程技术>移动开发
本页文章导读:
▪在textview中展示logcat日志 在textview中显示logcat日志
看到一篇好文章 故转载分享下
转载自:http://www.blogjava.net/andteamroid/archive/2011/03/09/346020.html
我们在Eclipse中经常使用Logcat窗口查看日志信息,不过其实也可以在手机.........
▪ 水准,垂直镜像图片 水平,垂直镜像图片
http://lzy32.blog.163.com/blog/static/3768032320076209273297/public static Image createImage(Image image, int x, .........
▪ ListView 自定义背景后,滚动时的背景变黑有关问题 ListView 自定义背景后,滚动时的背景变黑问题
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉.........
[1]在textview中展示logcat日志
来源: 互联网 发布时间: 2014-02-18
在textview中显示logcat日志
看到一篇好文章 故转载分享下
转载自:http://www.blogjava.net/andteamroid/archive/2011/03/09/346020.html
我们在Eclipse中经常使用Logcat窗口查看日志信息,不过其实也可以在手机上显示日志。下面的例子就是在textview中显示logcat日志。
java代码如下:
1
2 package LogcatTextView.com;
3
4 import java.io.BufferedReader;
5 import java.io.IOException;
6 import java.io.InputStreamReader;
7
8 import android.app.Activity;
9 import android.os.Bundle;
10 import android.widget.ScrollView;
11 import android.widget.TextView;
12
13 public class LogcatTextView extends Activity {
14 /** Called when the activity is first created. */
15 @Override
16 public void onCreate(Bundle savedInstanceState) {
17 super .onCreate(savedInstanceState);
18 setContentView(R.layout.main);
19
20 try {
21
22 Process process = Runtime.getRuntime().exec( " logcat -d " );
23
24 BufferedReader bufferedReader = new BufferedReader(
25
26 new InputStreamReader(process.getInputStream()));
27
28 StringBuilder log = new StringBuilder();
29
30 String line;
31
32 while ((line = bufferedReader.readLine()) != null ) {
33
34 log.append(line);
35
36 }
37
38 TextView tv = (TextView) findViewById(R.id.tvLogcat);
39
40 tv.setText(log.toString());
41
42 final ScrollView scrollView = (ScrollView) findViewById(R.id.scrlLogcat);
43
44 scrollView.post( new Runnable() {
45 @Override
46 public void run() {
47 scrollView.fullScroll(ScrollView.FOCUS_DOWN);
48 }
49 });
50
51 } catch (IOException e) {
52
53 }
54 }
55 }
2 package LogcatTextView.com;
3
4 import java.io.BufferedReader;
5 import java.io.IOException;
6 import java.io.InputStreamReader;
7
8 import android.app.Activity;
9 import android.os.Bundle;
10 import android.widget.ScrollView;
11 import android.widget.TextView;
12
13 public class LogcatTextView extends Activity {
14 /** Called when the activity is first created. */
15 @Override
16 public void onCreate(Bundle savedInstanceState) {
17 super .onCreate(savedInstanceState);
18 setContentView(R.layout.main);
19
20 try {
21
22 Process process = Runtime.getRuntime().exec( " logcat -d " );
23
24 BufferedReader bufferedReader = new BufferedReader(
25
26 new InputStreamReader(process.getInputStream()));
27
28 StringBuilder log = new StringBuilder();
29
30 String line;
31
32 while ((line = bufferedReader.readLine()) != null ) {
33
34 log.append(line);
35
36 }
37
38 TextView tv = (TextView) findViewById(R.id.tvLogcat);
39
40 tv.setText(log.toString());
41
42 final ScrollView scrollView = (ScrollView) findViewById(R.id.scrlLogcat);
43
44 scrollView.post( new Runnable() {
45 @Override
46 public void run() {
47 scrollView.fullScroll(ScrollView.FOCUS_DOWN);
48 }
49 });
50
51 } catch (IOException e) {
52
53 }
54 }
55 }
不要忘记加上权限
< uses- permission android: name= "android.permission.READ_LOGS" />
[2] 水准,垂直镜像图片
来源: 互联网 发布时间: 2014-02-18
水平,垂直镜像图片
http://lzy32.blog.163.com/blog/static/3768032320076209273297/
public static Image createImage(Image image,
int x,
int y,
int width,
int height,
int transform)
其中:transform就可以指定要做的操作,比如水平镜像,转90度等
/***************************************************************************
*
* 垂直镜像的方法
*/
public static Image verticalMirror(Image img) {
int[] rgbOutput = null;
int[] rgbInput = null;
int width = 0, height = 0;
int[][] tempArr = null;
try {
width = img.getWidth();
height = img.getHeight();
rgbInput = new int[width * height];
rgbOutput = new int[width * height];
img.getRGB(rgbInput, 0, width, 0, 0, width, height);
int i, j, k;
k = 0;
tempArr = new int[height][width];
for (i = 0; i < height; i++)
for (j = 0; j < width; j++)
tempArr[i][j] = rgbInput[k++];
rgbInput = null;// 显式地设置为空值,告诉系统可以垃圾回收
int[][] tempArr1 = new int[height][width];
for (i = 0; i < height; i++)
for (j = 0; j < width; j++) {
tempArr1[i][width - 1 - j] = tempArr[i][j];
}
tempArr = null;// 显式地设置为空值,告诉系统可以垃圾回收
k = 0;
for (i = 0; i < height; i++)
for (j = 0; j < width; j++) {
rgbOutput[k] = tempArr1[i][j];
k++;
}
tempArr1 = null;// 显式地设置为空值,告诉系统可以垃圾回收
// return img;
return Image.createRGBImage(rgbOutput, width, height, true);
} catch (OutOfMemoryError e) {
// e.printStackTrace();
ImageAlbum.showAlert("图像尺寸太大,不能完成此操作.");
return img;
} finally {
rgbOutput = null;
}
}
/***************************************************************************
*
* 水平镜像的方法
*/
public static Image horizontalMirror(Image img) {
int[] rgbOutput = null;
int[] rgbInput = null;
int width = 0, height = 0;
int[][] tempArr = null;
int[][] tempArr1 = null;
try {
width = img.getWidth();
height = img.getHeight();
rgbInput = new int[width * height];
rgbOutput = new int[width * height];
img.getRGB(rgbInput, 0, width, 0, 0, width, height);
int i, j, k;
k = 0;
tempArr = new int[height][width];
for (i = 0; i < height; i++)
for (j = 0; j < width; j++)
tempArr[i][j] = rgbInput[k++];
rgbInput = null;// 显式地设置为空值,告诉系统可以垃圾回收
tempArr1 = new int[height][width];
for (i = 0; i < height; i++)
for (j = 0; j < width; j++) {
tempArr1[height - 1 - i][j] = tempArr[i][j];
}
tempArr = null;// 显式地设置为空值,告诉系统可以垃圾回收
k = 0;
for (i = 0; i < height; i++)
for (j = 0; j < width; j++) {
rgbOutput[k] = tempArr1[i][j];
k++;
}
tempArr1 = null;// 显式地设置为空值,告诉系统可以垃圾回收
return Image.createRGBImage(rgbOutput, width, height, true);
} catch (OutOfMemoryError e) {
// e.printStackTrace();
ImageAlbum.showAlert("图像尺寸太大,不能完成此操作.");
return img;
} finally {
rgbOutput = null;
}
}
http://lzy32.blog.163.com/blog/static/3768032320076209273297/
public static Image createImage(Image image,
int x,
int y,
int width,
int height,
int transform)
其中:transform就可以指定要做的操作,比如水平镜像,转90度等
/***************************************************************************
*
* 垂直镜像的方法
*/
public static Image verticalMirror(Image img) {
int[] rgbOutput = null;
int[] rgbInput = null;
int width = 0, height = 0;
int[][] tempArr = null;
try {
width = img.getWidth();
height = img.getHeight();
rgbInput = new int[width * height];
rgbOutput = new int[width * height];
img.getRGB(rgbInput, 0, width, 0, 0, width, height);
int i, j, k;
k = 0;
tempArr = new int[height][width];
for (i = 0; i < height; i++)
for (j = 0; j < width; j++)
tempArr[i][j] = rgbInput[k++];
rgbInput = null;// 显式地设置为空值,告诉系统可以垃圾回收
int[][] tempArr1 = new int[height][width];
for (i = 0; i < height; i++)
for (j = 0; j < width; j++) {
tempArr1[i][width - 1 - j] = tempArr[i][j];
}
tempArr = null;// 显式地设置为空值,告诉系统可以垃圾回收
k = 0;
for (i = 0; i < height; i++)
for (j = 0; j < width; j++) {
rgbOutput[k] = tempArr1[i][j];
k++;
}
tempArr1 = null;// 显式地设置为空值,告诉系统可以垃圾回收
// return img;
return Image.createRGBImage(rgbOutput, width, height, true);
} catch (OutOfMemoryError e) {
// e.printStackTrace();
ImageAlbum.showAlert("图像尺寸太大,不能完成此操作.");
return img;
} finally {
rgbOutput = null;
}
}
/***************************************************************************
*
* 水平镜像的方法
*/
public static Image horizontalMirror(Image img) {
int[] rgbOutput = null;
int[] rgbInput = null;
int width = 0, height = 0;
int[][] tempArr = null;
int[][] tempArr1 = null;
try {
width = img.getWidth();
height = img.getHeight();
rgbInput = new int[width * height];
rgbOutput = new int[width * height];
img.getRGB(rgbInput, 0, width, 0, 0, width, height);
int i, j, k;
k = 0;
tempArr = new int[height][width];
for (i = 0; i < height; i++)
for (j = 0; j < width; j++)
tempArr[i][j] = rgbInput[k++];
rgbInput = null;// 显式地设置为空值,告诉系统可以垃圾回收
tempArr1 = new int[height][width];
for (i = 0; i < height; i++)
for (j = 0; j < width; j++) {
tempArr1[height - 1 - i][j] = tempArr[i][j];
}
tempArr = null;// 显式地设置为空值,告诉系统可以垃圾回收
k = 0;
for (i = 0; i < height; i++)
for (j = 0; j < width; j++) {
rgbOutput[k] = tempArr1[i][j];
k++;
}
tempArr1 = null;// 显式地设置为空值,告诉系统可以垃圾回收
return Image.createRGBImage(rgbOutput, width, height, true);
} catch (OutOfMemoryError e) {
// e.printStackTrace();
ImageAlbum.showAlert("图像尺寸太大,不能完成此操作.");
return img;
} finally {
rgbOutput = null;
}
}
[3] ListView 自定义背景后,滚动时的背景变黑有关问题
来源: 互联网 发布时间: 2014-02-18
ListView 自定义背景后,滚动时的背景变黑问题
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,要改变这种情况,只需要调用listView的setCacheColorHint(0),颜色值设置为0或者xml文件中listView的属性 android:cacheColorHint="#00000000"即可,滚动时,重绘View的时候就不会有背景颜色。
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,要改变这种情况,只需要调用listView的setCacheColorHint(0),颜色值设置为0或者xml文件中listView的属性 android:cacheColorHint="#00000000"即可,滚动时,重绘View的时候就不会有背景颜色。
最新技术文章: