一、聲明
- 聲明:
- 本視頻初衷是快速寫一個簡易app,靈感來源是項目設計
- 如果想進一步瞭解,深入學習,可以參考b站 天哥在奔跑
- 我是根據自己做完項目設計的經驗,提取我覺得重要和經常用到的點來給大家講
- 簡述as佈局、每個部分作用和放什麼文件、以及一些規範
- 命名規範—英文命名
- 文件放置規範----分包放置
二、基本佈局介紹
- linearlayout
- orientation
- background
- padding
- relativelayout
- layout_below等設置好相對佈局情況
三、基本控件1之製作登錄界面
- textview、button、edittext---->簡易登錄界面
- 什麼是textview、button、edittext
- 講解屬性、設置
- 優化登錄界面
- 背景設置
- 外框和圓角
- 實現具體功能
- button跳轉【基本步驟】
- 兩個activity
- 跳轉前界面—>跳轉後界面
- 聲明控件–找到控件–實現跳轉
- 匹配對應用戶名和密碼–只講一種方法,因爲實際操作時通過插卡來實現,所以這裏沒有必要複雜化
- 獲取edittest裏面的用戶名和密碼
- 與規定進行匹配
- 成功則進行跳轉
- button跳轉【基本步驟】
- 優化之Toast講解
- 一般底部彈出
-
Toast.makeText(getApplicationContext(),"Toast",Toast.LENGTH_SHORT).show();
-
- 居中彈出
- 首先將toast的內容找到
- 設置這個toast的佈局
- 進行show
-
Toast toastCenter = Toast.makeText(getApplicationContext(),"居中Toast",Toast.LENGTH_SHORT);//沒有show toastCenter.setGravity(Gravity.CENTER,0,0); toastCenter.show();
- 封裝好的類**建議以後用這個
-
package com.example.t04.util; import android.content.Context; import android.widget.Toast; //進行一個簡單的封裝 //現在可以不用封裝 public class ToastUtil { public static Toast mToast; public static void showMsg(Context context, String msg){ if ((mToast == null)){ mToast = Toast.makeText(context,msg,Toast.LENGTH_LONG); }else { mToast.setText(msg); } mToast.show(); } }
-
- 一般底部彈出
四、如何做側滑界面
第一節課-佈局
- 主acticity裏面利用slidemenu作爲容器放置兩個佈局文件
- 主佈局和兩個側滑的佈局文件設置
- 其中會涉及到cardview組件、imageview組件
- view組件
- 封裝類進行圖片 文字 圖片的組合
- 總體佈局類似於qq界面
第二節課-java文件
- 講解對應的java文件如何實現
- 涉及到Menu也就是兩個佈局文件的轉換的java代碼
- 講解一個漂亮的跳轉寫法***
- setlistener–setOnClickListerner
- Onclick—intent (通過的是getID–對應不同的intent)**不要忘了最後的startactivity
- onCreate裏面要調用我們的setListener
總結
- SlideActivity(用於各種控件設置和調用側滑的方法實現)
- SlideMenu(寫一個側滑的具體方法,大家直接拿去用就好了,如果想要仔細瞭解,後面如果有時間,我再更新,因爲我覺得,如果你對java不瞭解,也學不懂,最重要的是如何使用別人的方法,實現自己的功能)
- 三個佈局文件
- 容器 acticity_slide
- 正面佈局 layout_main
- 側滑菜單 layout_menu
五、Scrollview和單選框、複選框
- scrollview
- 與linearlayout不同的是,這個佈局可以滑動,適合屏幕長度顯示不完的界面
- 注意點—除了設置orientation之外,scrollview裏面只能有一個主要控件
- 解決辦法就是用一個總的linearlayout盛放所有控件
- 需要注意的是
- 如果orientation是horizontal,則寬度應該設置爲wrap_content
- 如果orientation是vertical,則高度應該設置爲wrap_content
- radiobutton
- radiogroup–radiobutton
-
<RadioGroup android:id="@+id/rg_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginLeft="60dp"> <RadioButton android:id="@+id/rb_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" android:textSize="20sp" android:textColor="#000000" android:checked="true" /> <RadioButton android:id="@+id/rb_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" android:textColor="#000000" android:textSize="20sp"/> </RadioGroup>
- checkbox
-
<CheckBox android:id="@+id/cb_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ios" android:textSize="20sp" android:layout_below="@id/cb_1" android:paddingLeft="10dp"/>
-
- 對應監聽事件
-
mCb5.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Toast.makeText(CheckBoxActivity.this,isChecked?"選中":"未選中",Toast.LENGTH_SHORT).show(); } });
-
mRg1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override //監聽事件 public void onCheckedChanged(RadioGroup group, int checkedId) { RadioButton radioButton = (RadioButton) group.findViewById(checkedId); Toast.makeText(RadioButtonActivity.this,radioButton.getText(),Toast.LENGTH_SHORT).show(); } });
-
六、RecyclerView和Adapter寫法
- Recycler
- 主佈局中寫recyclerview
- 畫其中每一個部分顯示的佈局
- 最後用adapter實現最終佈局的顯示
- 主佈局和每個part的佈局-----佈局文件
- 主佈局對應的java文件、adapter的Java文件—java文件