編輯:關於android開發
根據效果圖拆分界面
View ==> ViewGroup ==> RelativeLayout,主體部分使用RelativeLayout作為占位
View和ViewGroup的區別:ViewGroup有特有的addView()和removeView()方法,RelativeLayout添加進來View之後,後一個會覆蓋住前一個View;LinearLayout添加進View之後,會順序排放,不適合
設計原理:
樹形結構的數據處理,遵循組合設計模式
找到主體部分的RelativeLayout對象,添加進來View對象
兩秒後切換第二個界面,利用Handler發送延遲消息模擬切換
RelativeLayout對象,添加進來第二個View對象
問題:
MainActivity.java
private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { loadMemberView(); } }; /** * 初始化主體 */ public void initMiddle() { mainContainer=(RelativeLayout) findViewById(R.id.il_main); loadLoginView(); handler.sendEmptyMessageDelayed(1, 2000); } /** * 加載登陸界面 */ private void loadLoginView() { View child=new IndexView(this).getLoginView(); mainContainer.addView(child); } /** * 加載會員界面 */ private void loadMemberView() { View child=new IndexView(this).getMemberView(); mainContainer.removeAllViews(); mainContainer.addView(child); }
IndexView.java
package com.tsh.lottery.views; import android.content.Context; import android.view.View; import android.widget.TextView; /** * 界面 * @author taoshihan * */ public class IndexView { private Context context; public IndexView(Context context) { this.context = context; } /** * 獲取登陸界面 * @return */ public View getLoginView() { TextView tv=new TextView(context); tv.setText("我是登陸界面"); return tv; } /** * 獲取會員界面 * @return */ public View getMemberView() { TextView tv=new TextView(context); tv.setText("我是會員界面"); return tv; } }
Material Design:CollapsingToolbarLayout,materialdesign activity_main.xml: <
安卓第六天筆記--ListView,安卓--listview安卓第六天筆記--ListView 1.AdapteView AdapteView 繼承ViewGroup它的
Android 視頻播放器 VideoView 的使用,播放本地視頻 和 網絡 視頻,androidvideoview1、布局文件 <?xml version=1
QQ空間實現(一)—— 展示說說中的評論內容並有相應點擊事件,評論內容事件大家都玩QQ空間客戶端,對於每一個說說,我們都可以評論,那麼,對於某一條評論: 白雪公主 回復