安卓项目回顾

曾无好事来相访,赖尔高文一起予。这篇文章主要讲述安卓项目回顾相关的知识,希望能为你提供帮助。
第二天:
任务一:给某个屏幕设置淡入淡出效果

//进行淡入淡出的效果
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);
}


}



    推荐阅读