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. 使用表达式避免拼接SQL语句

    在SQL语句编写过程中,无论在存储过程中还是在程序中,有时为了使语句兼容全部情况与某字段的特殊情况,不得不拼接SQL字串 如下表 商品ID 类别ID 1 1 2 1 3 2 4 3 5 3 如果我们要 ...

  2. ORACLE解决登陆em状态暂挂方法

    1.找到oracle安装目录中db_1/计算机名_orcl/sysman/config/emd.properties , 用记事本打开emd.properties,在emd.properties文件 ...

  3. java.lang.Comparable接口

    转自:http://blog.csdn.net/zccst/article/details/5092920 java.lang.Comparable 接口 作者: zccst java.lang.Co ...

  4. HDU-2523 SORT AGAIN

    http://acm.hdu.edu.cn/showproblem.php?pid=2523 学习哈希和注意i++,后要--i: SORT AGAIN Time Limit: 2000/1000 MS ...

  5. 豆约翰博客备份专家博客导出示例(PDF,CHM)

    示例1: CSDN博客: 示例博客主页:http://blog.csdn.net/shenyisyn/ CHM文件图示:下载地址 PDF文件图示:下载地址 示例2: 新浪博客: 示例博客主页:http ...

  6. Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门

    说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代 ...

  7. 电源管理之pmu驱动分析

    电源管理芯片可以为多设备供电,且这些设备电压电流有所不同.为这些设备提供的稳压器代码模型即为regulator. 说白了regulator就是稳压器,它提供电源供给.简单的可以gpio操作,高电平开电 ...

  8. c#将金额转换为大写,支持小数点,原创经典

    网上搜的都有问题,这个代码属于原创,代码简洁,支持小数点,若没有小数点,则为整 /// <summary> /// 将金额转换成大写 /// </summary> /// &l ...

  9. iOS 开发中常见的设计模式

    最近有小伙伴问到在iOS开发中的几种设计模式,这里摘录一下别人的总结(因为已经感觉总结得差不多了,适用的可以阅读一下) 首先是开发中的23中设计模式分为三大类:1.创建型 2.结构型 3.行为型 (i ...

  10. linux jdk tomcat

    linux jdk tomcat mysql的安装 mysql的话,推荐使用命令行安装,而不是用外部的源码去编译,因为简单粗暴. mysql服务:sudo apt-get install mysql- ...