安卓项目回顾(二)

简介:


第二天:

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

//进行淡入淡出的效果

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,如需转载请自行联系原作者


相关文章
|
3月前
|
缓存 Unix Android开发
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
359 8
|
3月前
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
210 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
3月前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
257 6
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
866 1
安卓项目:app注册/登录界面设计
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
330 1
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
362 2
|
IDE Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【9月更文挑战第27天】在移动应用开发的世界中,Android和iOS是两个主要的操作系统平台。每个系统都有其独特的开发环境、工具和用户群体。本文将深入探讨这两个平台的关键差异点,并分析这些差异如何影响应用的性能、用户体验和最终的市场表现。通过对比分析,我们将揭示选择正确的开发平台对于确保项目成功的重要作用。
|
10月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
709 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
10月前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
1438 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
10月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
351 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex

热门文章

最新文章