安卓项目回顾(二)

简介:


第二天:

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

//进行淡入淡出的效果

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);

}


}






      本文转自眉间雪 51CTO博客,原文链接:http://blog.51cto.com/13348847/2047665,如需转载请自行联系原作者


相关文章
|
4天前
|
Web App开发 移动开发 小程序
"项目中mpaas升级到10.2.3 适配Android 14之后 app中的H5以及小程序都访问不了,
"项目中mpaas升级到10.2.3 适配Android 14之后 app中的H5以及小程序都访问不了,显示“网络不给力,请稍后再试”,预发内网版本不能使用,线上版本可以正常使用,这个是什么原因啊,是某些参数没有配置吗,还是说是一些参数改错了?
66 2
|
4天前
|
XML Java Android开发
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
59 0
|
4天前
|
Android开发
Android 分享机顶盒项目的封装类《GridView》(二)(转)
Android 分享机顶盒项目的封装类《GridView》(二)(转)
16 2
|
4天前
|
XML Java Android开发
Android 分享机顶盒项目的封装类《GridView》(三)(转)
Android 分享机顶盒项目的封装类《GridView》(三)(转)
12 2
|
4天前
|
Android开发
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
10 0
|
4天前
|
Android开发
android studio 重新将module中的代码加入到自己项目中,报错找不到SO文件。
android studio 重新将module中的代码加入到自己项目中,报错找不到SO文件。
10 1
|
4天前
|
Java Android开发 C++
安卓SO层开发 -- 第一个NDK项目
安卓SO层开发 -- 第一个NDK项目
17 0
|
4天前
|
IDE 开发工具 Android开发
Android Studio 下发布项目成APK文件
Android Studio 下发布项目成APK文件
126 1
|
4天前
|
JavaScript Android开发
Cordova 打包 Vue 项目到Android打开白屏
Cordova 打包 Vue 项目到Android打开白屏
|
4天前
|
开发工具 Android开发 开发者
Android 项目编译 Gradle 配置说明
Android 项目编译 Gradle 配置说明
167 0