当前位置: 编程技术>移动开发
本页文章导读:
▪TextView多行正文滚动轻松实现 TextView多行本文滚动轻松实现
Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟ScrollView必须只能有一个直接的子类布局。只.........
▪ Java三种常见的排序算法:冒泡,取舍,插入 Java三种常见的排序算法:冒泡,选择,插入
/**
*
* @author Administrator:阿福(trygf521@126.com)
*
*/
public class BubbleSorting {
public static void main(String args[]) {
//-------------------------冒泡排序
// .........
▪ Andriod源码准确的编译方式 Andriod源码正确的编译方式
适用范围:针对Linux的环境
针对版本:Android源码Version1.5及以上
前提条件:1、编译源码的各种工具已经安装完毕; 2、进入Android源码的根.........
[1]TextView多行正文滚动轻松实现
来源: 互联网 发布时间: 2014-02-18
TextView多行本文滚动轻松实现
Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟ScrollView必须只能有一个直接的子类布局。只要在layout中简单设置几个属性就可以轻松实现
<TextView
android:id="@+id/tvCWJ"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical" <!--垂直滚动条 -->
android:singleLine="false" <!--实现多行 -->
android:maxLines="15" <!--最多不超过15行 -->
android:textColor="#FF0000"
/>
当然我们为了让TextView动起来,还需要用到TextView的setMovementMethod方法设置一个滚动实例,代码如下
TextView tvAndroid123 = (TextView)findViewById(R.id.tvCWJ);
tvAndroid123.setMovementMethod(ScrollingMovementMethod.getInstance()); // Android开发网提示相关的可以查看SDK中android.text.method分支了解更多
Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟ScrollView必须只能有一个直接的子类布局。只要在layout中简单设置几个属性就可以轻松实现
<TextView
android:id="@+id/tvCWJ"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical" <!--垂直滚动条 -->
android:singleLine="false" <!--实现多行 -->
android:maxLines="15" <!--最多不超过15行 -->
android:textColor="#FF0000"
/>
当然我们为了让TextView动起来,还需要用到TextView的setMovementMethod方法设置一个滚动实例,代码如下
TextView tvAndroid123 = (TextView)findViewById(R.id.tvCWJ);
tvAndroid123.setMovementMethod(ScrollingMovementMethod.getInstance()); // Android开发网提示相关的可以查看SDK中android.text.method分支了解更多
1 楼
mermaid
2010-12-15
tvAndroid123.setMovementMethod(ScrollingMovementMethod.getInstance());
我用的时候并不是滚动的!
我用的时候并不是滚动的!
[2] Java三种常见的排序算法:冒泡,取舍,插入
来源: 互联网 发布时间: 2014-02-18
Java三种常见的排序算法:冒泡,选择,插入
/** * * @author Administrator:阿福(trygf521@126.com) * */ public class BubbleSorting { public static void main(String args[]) { //-------------------------冒泡排序 // 最初的数组. int[] list = { 1, 5, 4, 2, 3, 8, 9, 7, 6, 12 }; // 显示最初的数组. System.out.println("测试:冒泡排序——最初数组:"); for (int i = 0; i < list.length; i++) { System.out.print(" " + list[i]); } bubbleSort(list); System.out.println(); // 输出排序后的数组. System.out.println("冒泡排序后的数组是:"); for (int i = 0; i < list.length; i++){ System.out.print(" " + list[i]); } System.out.println();System.out.println();System.out.println(); //------------------------选择排序 // 显示最初的数组. int[] lists = { 1, 5, 4, 2, 3, 8, 9, 7, 6, 12 }; System.out.println("测试:选择排序——最初数组:"); for (int i = 0; i < list.length; i++) { System.out.print(" " + lists[i]); } Sectc(lists); System.out.println(); // 输出排序后的数组. System.out.println("选择排序后的数组是:"); for (int i = 0; i < list.length; i++){ System.out.print(" " + lists[i]); } System.out.println();System.out.println();System.out.println(); //------------------------插入排序 // 显示最初的数组. Comparable[] b = {6,3,1,8,22,34,2,12,15,7,99,11}; System.out.println("测试:插入排序——最初数组:"); for (int i = 0; i < b.length; i++) { System.out.print(" " + b[i]); } insertSort(b); System.out.println(); // 输出排序后的数组. System.out.println("选择排序后的数组是:"); for (int i = 0; i < b.length; i++){ System.out.print(" " + b[i]); } System.out.println();System.out.println();System.out.println(); } /** * 选择排序 * * @param list */ static void Sectc(int[] list) { for (int i = 0; i < list.length; i++) { for (int j = 1 + i; j < list.length; j++) if (list[i] < list[j]) { int temp; temp = list[j]; list[j] = list[i]; list[i] = temp; } } } /** * 冒泡排序 * @param list */ static void bubbleSort(int[] list) { for (int i = 0; i < list.length; i++) { boolean flag = true; int temp = 0; for (int j = 1; j < list.length - i; j++) if (list[j - 1] < list[j]) { temp = list[j - 1]; list[j - 1] = list[j]; list[j] = temp; flag = false; } if (flag) break; } } /** * 插入排序 * @param data */ public static void insertSort(Comparable[] data) { int j; for (int p = 1; p < data.length; p++) { Comparable key = data[p]; for (j = p; j > 0 && (key.compareTo(data[j - 1]) < 0); j--) data[j] = data[j - 1]; data[j] = key; } } }
运行效果:
[3] Andriod源码准确的编译方式
来源: 互联网 发布时间: 2014-02-18
Andriod源码正确的编译方式
适用范围:针对Linux的环境
针对版本:Android源码Version1.5及以上
前提条件:1、编译源码的各种工具已经安装完毕;
2、进入Android源码的根目录,如:/work/android2.1/
编译命令:make update-api; make PRODUCT-sdk-sdk;
命令说明:1、make update-api #如果你在Android源码中添加了自定义的包、类、方法或者你修改了Android源码中标识为@hide的方法、类,你需要这些内容对Application可见并且需要编译进SDK的Document中的话,这个命令是必须的(其实还有另外一种手工修改的方式替代这个命令的,呵呵);
2、make PRODUCT-sdk-sdk #编译源码并且声称SDK,这个方法解决了之前使用make sdk命令编译SDK的一个bug,就是R文件不能自动生成,需要手动更新一个jar文件才可以,这个文章本博客中也有涉及。
异常现象:如果在源码中添加了一些style、theme、drawable、package、class、method,编译时会出现有out/目录中的一些异常现象,一般不是特别严重的,主要是针对有些文件找不到,此时你可以在执行以下命令:
make clean
再执行:make update-api;make PRODUCT-sdk-sdk
最近使用源码比较多,修修改改缝缝补补难免有编译的问题出现,这里就做以上总结。
http://hi.baidu.com/programmar/blog/item/732776ea307360dfd439c938.html
最新技术文章: