android_demo 之生成颜色
老师说循环出颜色数字 然后显示出来
他说的什么一脸懵逼(=@__@=) 代码还在手上也还是懵逼 (づ。◕‿‿◕。)づ
不管了 留个脚印在这 以后想起来 至少也知道
直接上代码吧 说再多我也不懂啊(¬_¬)
/DynamicTable/res/layout/activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" > <Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="一键自动生成" />
</LinearLayout> <TableLayout
android:id="@+id/table1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</TableLayout> </LinearLayout>
activity_main.xml
/DynamicTable/src/com/example/dynamictable/MainActivity.java
package com.example.dynamictable; import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView; public class MainActivity extends Activity {
private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
private final int MP = ViewGroup.LayoutParams.MATCH_PARENT;
private Button bt1;
private TableLayout tableLayout;
private int c; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取控件Button
bt1 = (Button) findViewById(R.id.button1); // 给button按钮绑定单击事件
bt1.setOnClickListener(new OnClickListener() { public void onClick(View v) {
// 获取控件tableLayout
tableLayout = (TableLayout) findViewById(R.id.table1);
// 清除表格所有行
tableLayout.removeAllViews();
// 全部列自动填充空白处
tableLayout.setStretchAllColumns(true);
// 生成X行,Y列的表格 int theLength = 64;
for (int i = 0; i < theLength; i++) {
TableRow tableRow = new TableRow(MainActivity.this);
for (int j = 0; j < theLength; j++) {
int result = i * theLength + (j + 1) - 1;// 0~4095
int red = result / 256;
int green = (result - red * 256) / 16;
int blue = result - red * 256 - green * 16; // tv用于显示
TextView tv = new TextView(MainActivity.this); // tv.setText("-");
int rgb = Color.rgb(red * 16, green * 16, blue * 16);
tv.setBackgroundColor(rgb); // Color.rgb(red*16-1, green*16-1, blue*16-1)
// tv.setBackgroundResource(35434);
tableRow.addView(tv);
// System.out.println("i="+i+"; j="+j);
System.out.println(rgb + "=" + c++);
}
// 新建的TableRow添加到TableLayout
tableLayout.addView(tableRow, new TableLayout.LayoutParams(MP, WC, 1));
}
}
});
}
}
MainActivity.java
-_-|||
这就是代码了 (o_ _)ノ
注意运行的时候会比较慢,当你一直看见那个页面不动,不要激动,请耐心等待,好事多磨。你懂的。
由于考虑到电脑的因素我们就不循环全部颜色出来,只取其中的一部分。看见上面的颜色表,只是一部分而已,
这是16的 就是 那个 int theLength = 64;
展示展示效果
那什么 255什么的还是不敢试
测试了一半就强制退出了 囧rz=З 怕啊┑( ̄Д  ̄)┍ 怕手机hold 不住啊。
那什么 我还是瞎测试了一下 32的 就是 int theLength = 128; 的
等了好久才出了╮(╯_╰)╭
反正感觉它(ーー゛)好(@ ̄ー ̄@)丑
搜图片有这样的
感觉都要比那个循环出来的好看o( ̄ヘ ̄o#)
这手机截屏怎么这么大啊 崩溃(# ̄~ ̄#)
android_demo 之生成颜色的更多相关文章
- android_demo之生成颜色布局
前面学习了动态生成表格,不单单是要动态生成控件,也同时生成一个事件. 接下来用个小小栗子去了解这个知识点. <LinearLayout xmlns:android="http://sc ...
- Android 生成颜色器
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
/** * 随机生成颜色 * @return 随机生成的十六进制颜色 */ function randomColor(){ var colorStr=Math.floor(Math.random()* ...
- iOS -UIColor随机生成颜色的方法
在iOS 中的UIColor拥有这么多关于颜色的类方法,对于一般常见的UI控件,我们可以通过[UIColorblackColor]设置背景色 eg:设置button 的背景色为红色 UIButton ...
- Android_demo之生成二维码
今天我们来学习一个自动生成二维码 的写法.我们经常能见到各种二维码,比如公众号的二维码,网址的,加好友的,支付的二维码等等.其实每一个二维码只是利用图片的形式展示出来的,实际是一些字符串.而这个字符串 ...
- js随机生成颜色代码
function generyRandomColor() { return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toStri ...
- js随机生成颜色的方法
function getRandomColor() { return '#' + (Math.random() * 0xffffff << 0).toString(16); }
- js 随机生成颜色
方法一 function randomColor (){ var str='#'; for(var i=0;i<6;i++){ str+=Math.floor(Math.random()*16 ...
- .NET C#生成随机颜色,可以控制亮度,生成暗色或者亮色 基于YUV模式判断颜色明亮度
.NET C#生成随机颜色,可以控制亮度,生成暗色或者亮色 基于YUV模式判断颜色明亮度 随机颜色在日常开发中很常用到,有时候要控制颜色明亮度,比如在白色背景网页上的随机颜色,一般要求颜色稍微暗一 ...
随机推荐
- 编写SQL
create table student ( sno char(9) primary key, sname char(20) unique, ssex char(2), sage smallint, ...
- STL_iterator迭代器(1)——迭代器的分类
一.容器迭代器 尽管C++指针也是迭代器,但用的更多的是容器迭代器.容器迭代器用法和iterdemo.cpp一样,但和将迭代器申明为指针变量不同的是,你可以使用容器类方法来获取迭代器对象.两个典型的容 ...
- HDU2048(标准错排问题)
错排问题. 将错排方法数记为D(n). 1. 把第n个元素放在一个位置,比如k,有n-1种方法. 2. 编号为k的元素有两种放法. <1> 把它放到位置n.那么对于剩下的n-2个元素,就有 ...
- cloudCompute
云计算使企业可以迅速对市场做出反应而且加强了企业内部的协同 人人都在用云计算的时候能够迅速迁移到云平台已经不叫优势了,反而不使用云计算成为了一种劣势
- P - 奔小康赚大钱 - hdu 2255(带权值的匹配)
分析:这是一个KM的模板题,也就不多说了,KM最复杂的情况都能过,下面是没有优化过的代码: ****************************************************** ...
- H - Can you answer these queries? - (区间查询更新)
有一列数,(都是2^63范围内的并且都大于0的整数),现在呢有一些操作, 操作 0 可以把区间LR内的所有数都变成它的平方根数(是取整后的),操作 1 可以就是求区间LR内的和了. 分析:因为这个操作 ...
- poj1190 生日蛋糕 dfs
题意:生日蛋糕有m层,总体积是V.从下向上,每一层的半径r和高度h都是递减的. 给m.v,求最小的表面积s.(不算底面接地的面积) 题目链接:poj1190 剪枝都还没加..样例输出都是错的...还没 ...
- linux下ssh使用和配置
常用格式:ssh [-l login_name] [-p port] [user@]hostname 更详细的可以用ssh -h查看. 举例 不指定用户: ssh 192.168.0.11 指定用户: ...
- java常用包
java的核心类都放在java这个包以及其子包下,java扩展的许多类都放在javax包以及其子包下.这些实用类也就是平时经常说的API(应用程序接口). 以下几个是java语言中常用包 java.l ...
- [转] 智能指针(三):unique_ptr使用简介
PS: 1. auto_ptr太不安全,可能多个auto_ptr指向一个对象,出现重复释放的问题 2. unique_ptr解决了这个问题,不允许拷贝构造函数和赋值操作符,但是!它支持移动构造函数,通 ...