个人项目 小跟班——蓝牙小车控制(UI篇)

本文介绍了个人项目小跟班的UI设计,包括创建工程、Welcome界面和Guide界面的详细设计。Welcome界面实现了一个3秒的开机动画,Guide界面通过ViewPage控件和小点指示器展示引导。此外,讨论了主界面的布局设计,如线性布局、相对布局和自定义标题布局。
摘要由CSDN通过智能技术生成
 

1 功能需求及技术可行性分析

预期实现一个应用——小跟班,它可以通过蓝牙与小车相连并对小车进行控制。本应用的主要功能有:

1 搜索蓝牙设备,取消搜索蓝牙设备

2 连接蓝牙设备,断开连接

3 对连接的蓝牙设备发送指令

  (1)方向键控制

  (2)两种模式控制

虽然看上去只有几个主要的功能点,但如果想要全部实现这些功能却需要用到各种技术,例如:UI、蓝牙等。

分析完了需求之后,接下来就要进行技术可行性分析了。首先如何可以控制手机的蓝牙功能,我们可以查看Android API开发指南(http://www.embeddedlinux.org.cn/androidapi/),里面提供了一些方法:

有了这些了解,就可以开始着手编写我的程序了。

2 创建你的工程

编写程序第一步当然就是创建一个新的工程。

项目名:ToFollow  包名:com.zl_sf.tofollow(包名可自定义)。填写完毕之后,一直点击Next直到Finish。首先分析一下:我们需要一个欢迎界面,一些引导界面,主界面和蓝牙适配器。


建好工程后,开始新建Activity,我们需要以下一些文件:


3 Welcome界面设计

我们需要设计一个开机动画。首先,选择一张满意的图片,放在Photoshop中稍作修改,加上自己的应用名和一些装饰。可以做一个渐变的动画,从无到有持续3s。效果图:



图片是自己PS的所以就不多说了,那么看看WelcomeActivity的代码吧:

package com.zl_sf.tofollow.start;

import com.zl_sf.tofollow.R;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.widget.LinearLayout;

public class WelcomeActivity extends Activity {
	
	private LinearLayout welcome_layout;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_welcome);
		
		welcome_layout = (LinearLayout) findViewById(R.id.layout_welcome);
		AlphaAnimation alphaAnimation=new AlphaAnimation(0.0f, 1.0f);
		alphaAnimation.setDuration(3000);
		welcome_layout.startAnimation(alphaAnimation);
		
		alphaAnimation.setAnimationListener(new AnimationListener() {
			
			@Override
			public void onAnimationStart(Animation animation) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onAnimationRepeat(Animation animation) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onAnimationEnd(Animation animation) {
				// TODO Auto-generated method stub
				Intent intent=new Intent(WelcomeActivity.this,GuideActivity.class);
				startActivity(intent);
				finish();
			}
		});
	}

}

可以看到这个activity里面没有写全局显示的代码,因为我是在manifest中添加的相关权限:

<activity
       android:name=".start.WelcomeActivity"
       android:label="@string/app_name"
       android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
       <intent-filter>
            <action android:name="android.intent.action.MAIN" />

           <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
</activity>

另外,布局文件,activity_welcome.xml

&
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值