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. UVA_11178_Morley's_Theorem_(计算几何基础)

    描述 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=23&pag ...

  2. sql server 清除日志

    SQL2008 的收缩日志  由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) Backup Log DNNam ...

  3. SQL Server select into用法

    作用: SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档 这个语句会在数据库中用和你所指定的列类型和 ...

  4. 【转】Ubuntu下配置samba服务器--不错

    原文网址:http://my.oschina.net/junn/blog/171388 设置虚拟机的网络方式为桥接方式: 一. samba的安装: sudo apt-get insall samba  ...

  5. SQL重复记录处理(查找,过滤,删除)

    SQL重复记录处理(查找,过滤,删除)     ID int    Title nvarchar(50)    AddDate datetime    数据  www.2cto.com     ID ...

  6. 使用VisualStudio进行单元测试之二

    借着工作忙的借口,偷了两天懒,今天继续单元测试之旅.前面说了如何进行一个最简单的单元测试,这次呢就跟大家一起来熟悉一下,在visual studio中如何进行数据驱动的单元测试. 开始之前先来明确一下 ...

  7. wojilu中的路由

    要看2个地方,一个是route.config,另一个是wojilu.Members.Sites.Domain.SiteMenu.config,这2部分综合起作用.

  8. 你需要知道的10位Java开发牛人

    1.James Gosling 1983 年,Gosling 获得了加州大学的计算机科学学士学位.1990 年,他获得了卡内基梅隆大学的计算机科学博士学位,师从 BobSproull.在攻读博士期间, ...

  9. JAVA环境变量正确设置,却无法在cmd中javac

    今晚试着重新设置JAVA的环境变量,按着度娘告知的操作方法: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值 ...

  10. octopress Endless Error With Gem Dependencies

    因为重装系统的缘故,需要重新搭建octopress环境,在执行到: bundle install 会出现一些这样的错误:An error occurred while installing timer ...