Warning 本系列無法提供源碼,請謹慎閱讀
前言
看傳智的一些視頻教程,感覺蠻不錯的,就是時間太長還沒看完,很煎熬啊。今天直接跳到最后看沈大海老師的
新浪微博android客戶端開發視頻,各種曲折難以言表,不知是下載資料的問題還是版本等其他問題,反正我將CD上
下下來的源碼導入Eclipse后錯誤灰常的多,仔細看了下,錯誤主要有兩種
1==》很多事關於顏色定義,引用時提示找不到資源,於是對着錯誤重新定義了一遍,解決。
2==》布局文件問題,提示引用的FrameLayout布局無效。這個微博的布局比較復雜,可能是為了UI的重用,
采用了很多嵌套的方法,比如某個地方來個<include>,然后去找引用的UI在哪里,找到后實在看不出為什么出錯,
在API文檔里也找了好久,終於在Resources標簽下面的技術文章找到了蛛絲馬跡:
里面有類似的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);
}
});
}
}
關於這段代碼還是比較簡單的,代碼里面寫了注釋。之后還要在登錄界面實現聯網登陸,待續。
效果圖
大致效果是: