Day04-Android

标签(空格分隔): andrroid


1.制作界面

2.在写Activity.

Logcat

LayoutInflate把Xml转换纯成View的工具。

自定义吐司

LayoutParams.LayoutParams 布局参数。设计宽高

读源码心得

1.LinearLayoutViewGroup的子类。而布局参数LayoutParams是一个静态类,主要是用来设计各个 控件的长宽高,根据不同类继承。每个特定的布局类有自己同的属性,所以在封装的时候类也会不同。

1.中午写完自定义toast界面在睡觉;

问题

  1. 适配器里适配的是哪个控件的属性?完成
  2. 对话框练习,墙纸的更换;完成
  3. 稀疏布尔数组是什么玩意?完不成。
  4. Toast自定义界面。完成
  5. 对话框的练习?完成
  6. 工厂设计模式;完成
  7. getResources()方法的作用 完成

解决问题:

  • 7. getResources()方法的作用

资源包 package android.content.res;在安卓里面所属的是这样的资源包,而getResources()方法在ContextThemeWrapper类里面重写了该方法,重要的是一个Activity继承并且实现了如下的类

    public class Activity extends ContextThemeWrapper
implements LayoutInflater.Factory2,
Window.Callback, KeyEvent.Callback,
OnCreateContextMenuListener,ComponentCallbacks2,
Window.OnWindowDismissedCallback

而当中的ContextThemeWrapper该方法

  • 工厂设计模式

    就是内部创建一个工厂类,用来初始化该类,通过工厂类来初始化该类的对象。

  • 2.墙纸的更换

<!-- 设置手机壁纸,需要权限 -->
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
/**
* 一个长按修改手机壁纸的方法。
*/ private void setPaper()
{
// 获取到控件,
final ImageView bgimg_tv = (ImageView) findViewById(R.id.bgimg_tv);
// 设置监听事件
bgimg_tv.setOnLongClickListener(new View.OnLongClickListener()
{ @Override
public boolean onLongClick(View v)
{
// 通过图片控件前景图片属性来设置手机壁纸 System.out.println("长按触摸监听");
try /**
* 、 Drawable :可绘制的资源,包含 Bitmap、图层,可绘制的颜色资源等,它是一个抽象类
*
*/
{ // 清除手机壁纸
clearWallpaper();
// getDrawable获取到的全景图片
Drawable drawable = bgimg_tv.getDrawable();
// 位图对形象
BitmapDrawable bitmapDra = (BitmapDrawable) drawable;
// bitmap是一个位图格式,如bigMap等等。
Bitmap bitmap = bitmapDra.getBitmap();
setWallpaper(bitmap); } catch (IOException e)
{ e.printStackTrace();
} return true;
// 如果返回
}
});
}
  • 4. Toast自定义界面。
 * 自己定义一个xml界面
*/
public void showXmlLayout(View v)
{
/**
* 想要吐出一个界面:用xml布局的。 设计出要吐出的界面。 resoure : 我们要加载的xml文件的资源id root:
* 是否要加入的到父控件当中
*/ View layoutView = LayoutInflater.from(context).inflate(R.layout.toast_layout, null); // 设置文本的参数 设置加载文本文件的参数,必须通过LayoutView获取。
TextView textView = (TextView) layoutView.findViewById(R.id.title_tv);
textView.setText("你怎么看待这个问题!"); // 创建toast对象,
Toast toast = new Toast(context);
// 把要Toast的布局文件放到toast的对象中
toast.setView(layoutView);
toast.setDuration(toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP, 70, 80);
toast.show(); }

脑洞大开

  • 一定要有目的有机会的去学习编程。这样写程序会更快许多。

# Day04-Android的更多相关文章

  1. day04关于MySqL—Android小白的学习笔记

    Mysql入门 1. 数据库基本知识(了解) 1.1.数据库介绍 1.1.1.什么是数据库?数据库的作用是什么? 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户 ...

  2. 2017-2018-1 JAVA实验站 冲刺 day04

    2017-2018-1 JAVA实验站 冲刺 day04 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 写博客.进行工作总结 100% 齐力锋 找背景音乐 100% 张浩林 游戏操作说 ...

  3. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  4. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  5. Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记

    以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...

  6. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  7. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  8. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  9. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  10. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

随机推荐

  1. check约束条件

    --约束:对列的值起一个约束性的作用,规定列的值的范围 --主键.外键.非空.自增长标识列.唯一列(unique).check约束 --check 约束 --在某个表里点击右键→设计→进去找到要约束的 ...

  2. sql server 2005+ 行转列

    )) , 'aa') , 'bb') , 'aaa') , 'bbb') , 'ccc') go , , '') from tb group by id

  3. t-sql 中between and 的一种写法

    t-sql 中between and 的一种写法: where GETDATE() BETWEEN BeginDateTime AND EndDateTime; BeginDateTime,EndDa ...

  4. [LeetCode] 287. Find the Duplicate Number 解题思路

    Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), pro ...

  5. Redis未授权访问缺陷让服务器沦为肉鸡

    朋友的一个项目说接到阿里云的告警,提示服务器已沦为肉鸡,网络带宽被大量占用,网站访问很慢,通过SSH远程管理服务器还频繁断开链接.朋友不知如何下手,便邀请我帮忙处理. 阿里云的安全告警邮件内容: 在没 ...

  6. storm的acker机制理解

    转载请注明原创地址http://www.cnblogs.com/dongxiao-yang/p/6142356.html Storm 的拓扑有一些特殊的称为"acker"的任务,这 ...

  7. json中文编码问题

    在和微信接口交互的过程中需要传参json而里面有中文的存在,所以json_encode($data)编码后会形成 {"group":{"name":" ...

  8. sql server 查看表结构说明

    select c.name as [字段名],t.name as [字段类型] ,convert(bit,c.IsNullable) as [可否为空] ,convert(bit,case when ...

  9. 【转】Android仿QQ截图应用测试

    使用过QQ的同学应该都用过QQ截图,Ctrl+Alt+A进入截图操作,通过拉伸,移动高亮区域的框体可以快速截取我们需要的图片.在android应用中,我们也经常需要截图操作,以下实现了一个类似QQ截图 ...

  10. Python数据类型转换

    Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 compl ...