也学微博开发(一)欢迎界面

Warning 本系列无法提供源码,请谨慎阅读

前言

      看传智的一些视频教程,感觉蛮不错的,就是时间太长还没看完,很煎熬啊。今天直接跳到最后看沈大海老师的

新浪微博android客户端开发视频,各种曲折难以言表,不知是下载资料的问题还是版本等其他问题,反正我将CD上

下下来的源码导入Eclipse后错误灰常的多,仔细看了下,错误主要有两种

      1==》很多事关于颜色定义,引用时提示找不到资源,于是对着错误重新定义了一遍,解决。

      2==》布局文件问题,提示引用的FrameLayout布局无效。这个微博的布局比较复杂,可能是为了UI的重用,

采用了很多嵌套的方法,比如某个地方来个<include>,然后去找引用的UI在哪里,找到后实在看不出为什么出错,

在API文档里也找了好久,终于在Resources标签下面的技术文章找到了蛛丝马迹:

image

里面有类似的XML写法,和案例是一样的,也没有错,这说明不是代码的问题,可能是Eclipse的问题。

<com.android.launcher.Workspace    android:id="@+id/workspace"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    launcher:defaultScreen="1">    <include android:id="@+id/cell1" layout="@layout/workspace_screen" />    <include android:id="@+id/cell2" layout="@layout/workspace_screen" />    <include android:id="@+id/cell3" layout="@layout/workspace_screen" /></com.android.launcher.Workspace>

无奈,本人反复删除,再重新导入多次终于没有错误提示,解决。

  思路和实现
    登录微博之前有一个登录前的动画界面,也就是欢迎界面。思路是在activity中让一张图片在3秒钟内透明度由小变大。
会用到一个ImageView,图片效果显示完成后我们利用Intent跳转到另外一个用于登录的Activity中。代码如下
复制代码
public class Logo extends Activity 
{

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

//即使得欢迎动画全屏显示

// 取消标题,
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
// 取消状态栏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.setContentView(R.layout.log);
ImageView iv = (ImageView) this.findViewById(R.id.logo_bg);

//设置图片动画效果

AlphaAnimation aa = new AlphaAnimation(0.1f, 1.0f);
aa.setDuration(3000);
iv.startAnimation(aa);

//内部匿名类实现动画监听,重写三个事件,我们关心的时最后一个
aa.setAnimationListener(new AnimationListener()
{
@Override
public void onAnimationStart(Animation animation)
{
}

@Override
public void onAnimationRepeat(Animation animation)
{
}

//动画结束后,跳转到登录界面

@Override
public void onAnimationEnd(Animation animation)
{
Intent it = new Intent(Logo.this, Login.class);
startActivity(it);
}
});
}

}
复制代码

关于这段代码还是比较简单的,代码里面写了注释。之后还要在登录界面实现联网登陆,待续。

     效果图

大致效果是:

imageimage

posted @   小文字  阅读(3492)  评论(2编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示