安卓项目回顾(二)

第二天:

任务一:给某个屏幕设置淡入淡出效果

//进行淡入淡出的效果

initAnimation();

private void initAnimation() {

// TODO 自动生成的方法存根

AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);//透明度

alphaAnimation.setDuration(3000);//设置时长

rl_root.startAnimation(alphaAnimation);

}

private void initUI() {

// TODO 自动生成的方法存根

tv_version_name = (TextView) findViewById(R.id.tv_version_name);

rl_root = (RelativeLayout) findViewById(R.id.rl_root);

}

<RelativeLayout 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:background="@drawable/launcher_bg"

android:id="@+id/rl_root"

tools:context=".SplashActivity" >

ok,对项目的主题进行配置

<!-- Application theme. -->

<style name="AppTheme" parent="AppBaseTheme">

<!-- All customizations that are NOT specific to a particular API-level can go here. -->

</style>

<!-- <TextView

android:text="功能列表"

android:gravity="center"

android:textSize="20sp"

android:textColor="#000"

android:padding="10dp"

android:background="#0f0"

android:layout_width="match_parent"

android:layout_height="wrap_content"/> -->

<style name="TitleStyle">

<item name="android:gravity">center</item>

<item name="android:textSize">20sp</item>

<item name="android:textColor">#000</item>

<item name="android:padding">10dp</item>

<item name="android:background">#0f0</item>

<item name="android:layout_width">match_parent</item>

<item name="android:layout_height">wrap_content</item>

</style>

<TextView

style="@style/TitleStyle"

android:text="功能列表" />

自定义类进行内容的聚焦,用于滚动

import android.content.Context;

import android.util.AttributeSet;

import android.widget.TextView;

public class FocusTextView extends TextView {

//使用在通过java代码创建控件

public FocusTextView(Context context) {

super(context);

}

//由系统调用(带属性+上下文环境构造方法xml to java对象)

public FocusTextView(Context context, AttributeSet attrs) {

super(context, attrs);

}

//由系统调用(带属性+上下文环境构造方法+布局文件中定义样式文件构造方法xml)

public FocusTextView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

//这是第二种方法重写获取焦点的方法,由系统调用,调用的时候默认就能获取焦点,比textview好

@Override

public boolean isFocused() {

return true;

}

}

<com.example.moblesafe73.view.FocusTextView

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:ellipsize="marquee"

android:marqueeRepeatLimit="marquee_forever"

android:padding="5dp"

android:singleLine="true"

android:text="秋天秋天悄悄过去,留下小秘密,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊"

android:textColor="#000" >

</com.example.moblesafe73.view.FocusTextView>

开始着手设置九宫格

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center"

>

<ImageView

android:id="@+id/iv_icon"

android:background="@drawable/ic_launcher"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<TextView

android:id="@+id/tv_title"

android:text="模块标题"

android:textSize="18sp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</LinearLayout>

<GridView

android:id="@+id/gv_home"

android:numColumns="3"

android:verticalSpacing="10dp"

android:layout_width="match_parent"

android:layout_height="match_parent" >

</GridView>

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageView;

import android.widget.TextView;

public class HomeActivity extends Activity{

private String[] mTitleStrs;

private int[] mDrawableIds;

private GridView gv_home;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_home);

initUI();

//初始化数据的方法

initData();

}

private void initData() {

//准备数据(文字(9组),图片(9张))

mTitleStrs = new String[]{

"手机防盗","通信卫士","软件管理","进程管理","流量统计","手机杀毒","缓存清理","高级工具","设置中心"

};

mDrawableIds = new int[]{

R.drawable.home_safe,R.drawable.home_callmsgsafe,

R.drawable.home_apps,R.drawable.home_taskmanager,

R.drawable.home_netmanager,R.drawable.home_trojan,

R.drawable.home_sysoptimize,R.drawable.home_tools,R.drawable.home_settings

};

//九宫格控件设置数据适配器(等同ListView数据适配器)

gv_home.setAdapter(new MyAdapter());

}

class MyAdapter extends BaseAdapter{

@Override

public int getCount() {

//条目的总数 文字组数 == 图片张数

return mTitleStrs.length;

}

@Override

public Object getItem(int position) {

return mTitleStrs[position];

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

View view = View.inflate(getApplicationContext(), R.layout.gridview_item, null);

TextView tv_title = (TextView) view.findViewById(R.id.tv_title);

ImageView iv_icon = (ImageView) view.findViewById(R.id.iv_icon);

tv_title.setText(mTitleStrs[position]);

iv_icon.setBackgroundResource(mDrawableIds[position]);

return view;

}

}

private void initUI() {

gv_home = (GridView) findViewById(R.id.gv_home);

}

}

时间: 2024-10-29 21:15:53

安卓项目回顾(二)的相关文章

Ant管理安卓项目的自动化打包命令

Ant管理安卓项目的自动化打包命令 一.配置ant 1.登陆ant下载网页:http://ant.apache.org/bindownload.cgi,点击红框内容进行ant下载. 2.把ant下载包解压放进指定目录下. 3.配置ant的系统环境,如下 4.在dos环境中输入ant -version 测试ant环境配置是否成功. 二.使用ant命令给安卓项目生成build.xml和local.properties配置文件 1.在dos环境下输入命令: android update project

在Hudson中,使用ant自动对安卓项目编译打包apk

本文对如何在hudson中配置ant编译打包apk进行说明,主要包括build.xml文件的编写.环境的配置.在Hudson中创建任务. 一.为安卓项目创建build.xml文件 1.打开cmd进入sdk目录下的tools目录,输入: android.bat list target  来查询我们现有的版本list有哪些.如下图: 途中用红框圈出的 id 与蓝框圈出的版本号对应关系,下面需要用到. 2.打开安卓项目工程下的 project.properties 文件,查看target 版本号,如下

安卓开发技巧二:自定义日志工具类XLog的实现

我们在开发过程中,打印日志是必不可少的一个调试环节,然而,直接使用系统自带的Log日志类,并不能满足我们实际项目的需求:假如我们现在在开发一款比较大的项目,用到打印日志的地方肯定特别多,等到真正上线的时候,我们是不希望日志依旧能够打印出的,原因很简单,不仅多少有些影响效率,更有可能导致信息的泄露,所以我们就需要把所有的日志打印语句全部取消掉,难道我们真的一个一个的去删除这些打印日志的语句吗?项目那么大,就是想删除,也得耗费大量的时间和精力!大家不用怕,笔者这就给大家带来一款控制线上版本和线下版本

Thinkphp学习回顾(二)之config.php的配置

常见配置项 <? return array( //'配置项'=>'配置值''TMPL_L_DELIM'=>'<{', //修改左定界符,防止其与js中的代码重合,发生造成问题'TMPL_R_DELIM'=>'}>', //修改右定界符(重点)'DB_PREFIX'=>'tp_',//设置数据库表前缀便于管理分类(重点)'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp3',/*使用DSN配置链接数据库信息(重点)

关于cocos2dx导入安卓项目至eclipse的诸多问题

看视频实在是有点蛋疼,虽然我也想在苹果上做,但是奈何自己是一个小屌丝,根本买不起高富帅的装备.所以只能硬着头皮去处理win下面的问题. 在把用C++语言编写的cocos2dx项目编译编译完成之后,导入eclipse会发生诸多问题. 问题一: 把所需要的库文件导入之后还是会出现问题,这其实是因为安卓的版本低的问题,右击项目,选择属性,把安卓版本调高一点就可以克服这个问题了. 还有一个要说的就是,这个cocos的库是引用了其他的文件,在引用的时候,如果这一个库是一个项目的话,很可能会出现引用一个外部

Jenkins自动化部署安卓项目

一.简介 Android SDK:(software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件的开发工具的集合.因此,Android SDK 指的是Android专属的软件开发工具包.Gradle:是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编

Android下apk安装的过程,安卓项目的目录结构

安卓下软件安装的过程: 1:拷贝XXX.apk到/data/app/XXX-1.apk 2.在/data/data目录下创建一个文件夹     文件夹名称  当前应用程序的包名. 安卓项目的目录结构: bin:编译后的文件目录 gen:自动生成的文件目录 project.properties:代表编译的版本 对应Android.jar的版本 res:资源目录 drawable:存放应用程序的图标 h :高分辨率(以此类推) x:特大分辨率

Unity3D导出到安卓项目无法监听摇杆的轴键

Unity3D 5.0的项目导出到安卓项目,在UnityPlayerActivity.java里面的onKeyDown和一些按键按下的事件无法监听到摇杆的轴键按下,就是x, y, z, rz轴的数据(实际摇杆),修改AndroidManifest.xml文件中的meta-data可以解决, <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true"

安卓项目开发实战(2)--星座展示12宫格

好多日子没有写安卓了,今天继续我未完成的安卓项目.今天主要实现星座展示的12宫格效果. 1.星座图片 找好12星座的图片,参见工程代码下面的res/drawable目录 2.星座枚举类 建立这个枚举类是很有必要的,可以使我们 的代码更加清晰,同时避免了魔法数字的情况. 枚举类的代码如下: package com.liuc.constatntEnum; import com.liuc.R; /** * 星座枚举 * * @author Administrator * */ public enum