这门水课一学期就三四节,两节Android一节ios,就要交大作业了。
出于兴趣自己开始自学,先是做了个简单的登录界面,再跟从CSDN上下载的仿知乎日报模板结合了一下。
由于要交作业,花一整天的时间完成了这个app的开发。
功能是个人简历介绍。
项目结构
MainActivity
使用的之前写的登录界面
xml代码:
(两个输入文本 一个登陆按钮 范佩西背景图)
<code class="hljs xml has-numbering"><span class="hljs-pi"><?xml version="1.0" encoding="utf-8"?></span> <span class="hljs-tag"><<span class="hljs-title">merge</span> <span class="hljs-attribute">xmlns:android</span>=<span class="hljs-value">"http://schemas.android.com/apk/res/android"</span> <span class="hljs-attribute">xmlns:tools</span>=<span class="hljs-value">"http://schemas.android.com/tools"</span> <span class="hljs-attribute">tools:context</span>=<span class="hljs-value">"com.example.zonzi.myresume.MainActivity"</span> ></span> <span class="hljs-comment"><!-- Login progress --></span> <span class="hljs-tag"><<span class="hljs-title">LinearLayout </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/login_status"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_gravity</span>=<span class="hljs-value">"center"</span> <span class="hljs-attribute">android:gravity</span>=<span class="hljs-value">"center_horizontal"</span> <span class="hljs-attribute">android:orientation</span>=<span class="hljs-value">"vertical"</span> <span class="hljs-attribute">android:visibility</span>=<span class="hljs-value">"gone"</span> ></span> <span class="hljs-tag"><<span class="hljs-title">ProgressBar </span> <span class="hljs-attribute">style</span>=<span class="hljs-value">"?android:attr/progressBarStyleLarge"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_marginBottom</span>=<span class="hljs-value">"8dp"</span> /></span> <span class="hljs-tag"><<span class="hljs-title">TextView </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/login_status_message"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_marginBottom</span>=<span class="hljs-value">"16dp"</span> <span class="hljs-attribute">android:fontFamily</span>=<span class="hljs-value">"sans-serif-light"</span> <span class="hljs-attribute">android:text</span>=<span class="hljs-value">"111111111111111"</span> <span class="hljs-attribute">android:textAppearance</span>=<span class="hljs-value">"?android:attr/textAppearanceMedium"</span> /></span> <span class="hljs-tag"></<span class="hljs-title">LinearLayout</span>></span> <span class="hljs-comment"><!-- Login form --></span> <span class="hljs-tag"><<span class="hljs-title">RelativeLayout </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/login_form"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:background</span>=<span class="hljs-value">"@mipmap/rvpcover"</span> ></span> <span class="hljs-tag"><<span class="hljs-title">EditText </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/EditText1"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_marginLeft</span>=<span class="hljs-value">"16dp"</span> <span class="hljs-attribute">android:layout_marginRight</span>=<span class="hljs-value">"16dp"</span> <span class="hljs-attribute">android:layout_above</span>=<span class="hljs-value">"@+id/EditText2"</span> <span class="hljs-attribute">android:hint</span>=<span class="hljs-value">"用户名"</span> <span class="hljs-attribute">android:inputType</span>=<span class="hljs-value">"textEmailAddress"</span> <span class="hljs-attribute">android:maxLines</span>=<span class="hljs-value">"1"</span> <span class="hljs-attribute">android:singleLine</span>=<span class="hljs-value">"true"</span> /></span> <span class="hljs-tag"><<span class="hljs-title">EditText </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/EditText2"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_marginLeft</span>=<span class="hljs-value">"16dp"</span> <span class="hljs-attribute">android:layout_marginRight</span>=<span class="hljs-value">"16dp"</span> <span class="hljs-attribute">android:layout_above</span>=<span class="hljs-value">"@+id/sign_in_button"</span> <span class="hljs-attribute">android:hint</span>=<span class="hljs-value">"密码"</span> <span class="hljs-attribute">android:imeActionId</span>=<span class="hljs-value">"@+id/login"</span> <span class="hljs-attribute">android:imeActionLabel</span>=<span class="hljs-value">"2222222"</span> <span class="hljs-attribute">android:imeOptions</span>=<span class="hljs-value">"actionUnspecified"</span> <span class="hljs-attribute">android:inputType</span>=<span class="hljs-value">"textPassword"</span> <span class="hljs-attribute">android:maxLines</span>=<span class="hljs-value">"1"</span> <span class="hljs-attribute">android:singleLine</span>=<span class="hljs-value">"true"</span> /></span> <span class="hljs-tag"><<span class="hljs-title">Button </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/sign_in_button"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_alignParentBottom</span>=<span class="hljs-value">"true"</span> <span class="hljs-attribute">android:layout_alignParentRight</span>=<span class="hljs-value">"true"</span> <span class="hljs-attribute">android:layout_margin</span>=<span class="hljs-value">"20dp"</span> <span class="hljs-attribute">android:paddingLeft</span>=<span class="hljs-value">"32dp"</span> <span class="hljs-attribute">android:paddingRight</span>=<span class="hljs-value">"32dp"</span> <span class="hljs-attribute">android:text</span>=<span class="hljs-value">"登录"</span> /></span> <span class="hljs-tag"></<span class="hljs-title">RelativeLayout</span>></span> <span class="hljs-tag"></<span class="hljs-title">merge</span>></span></code>
效果图
.java代码
(判断用户输入的用户名密码是否正确,正确后跳转HomeActivity)
(用户名:B14040525 密码:123456)
(用户名密码判断的方法第一次写有错,不知原因,注释后另一种相似的方法却可行)
<code class="hljs java has-numbering"><span class="hljs-keyword">package</span> com.example.zonzi.myresume; <span class="hljs-keyword">import</span> android.content.Intent; <span class="hljs-keyword">import</span> android.content.SharedPreferences; <span class="hljs-keyword">import</span> android.support.v7.app.AppCompatActivity; <span class="hljs-keyword">import</span> android.os.Bundle; <span class="hljs-keyword">import</span> android.view.View; <span class="hljs-keyword">import</span> android.widget.Button; <span class="hljs-keyword">import</span> android.widget.EditText; <span class="hljs-keyword">import</span> android.widget.Toast; <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MainActivity</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">AppCompatActivity</span> {</span> <span class="hljs-keyword">private</span> Button mLogin = <span class="hljs-keyword">null</span>; <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onCreate</span>(Bundle savedInstanceState) { <span class="hljs-keyword">super</span>.onCreate(savedInstanceState); setContentView(R.layout.activity_main); <span class="hljs-keyword">final</span> EditText edit_UserName = (EditText)findViewById(R.id.EditText1); <span class="hljs-comment">//get what the user input from edittext1</span> <span class="hljs-keyword">final</span> EditText edit_Password = (EditText)findViewById(R.id.EditText2); <span class="hljs-comment">//get what the user input from edittext2</span> <span class="hljs-comment">// String saveusername = ""; //save what the user input</span> <span class="hljs-comment">// EditText getusername = (EditText) findViewById(R.id.EditText1); //get it from edittext</span> <span class="hljs-comment">// saveusername = getusername.getText().toString(); //change into string form</span> <span class="hljs-comment">//</span> <span class="hljs-comment">// String savepassword = "";</span> <span class="hljs-comment">// EditText getpassword = (EditText) findViewById(R.id.EditText2);</span> <span class="hljs-comment">// savepassword = getpassword.getText().toString();</span> <span class="hljs-keyword">final</span> String cusername = <span class="hljs-keyword">this</span>.getString(R.string.correctusername); <span class="hljs-comment">//get the correct username</span> <span class="hljs-keyword">final</span> String cpassword = <span class="hljs-keyword">this</span>.getString(R.string.correctpassword); <span class="hljs-comment">//get the correct password</span> <span class="hljs-comment">// final String finalSaveUsername = saveusername;</span> <span class="hljs-comment">// final String finalSavepassword = savepassword;</span> Button mLogin = (Button) findViewById(R.id.sign_in_button); mLogin.setOnClickListener(<span class="hljs-keyword">new</span> View.OnClickListener() { <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onClick</span>(View v) { <span class="hljs-comment">//compare the input with the correct username and password</span> <span class="hljs-keyword">if</span>(edit_UserName.getText().toString().trim().equals(cusername) && edit_Password.getText().toString().trim().equals(cpassword)){ <span class="hljs-comment">// if ((finalSaveUsername.equals(cusername)) && (finalSavepassword.equals(cpassword))) {</span> Intent i = <span class="hljs-keyword">new</span> Intent(MainActivity.<span class="hljs-keyword">this</span>, HomeActivity.class); <span class="hljs-comment">//jump to a new activity</span> startActivity(i); } <span class="hljs-keyword">else</span> { Toast.makeText(MainActivity.<span class="hljs-keyword">this</span>, <span class="hljs-string">"用户名或密码错误"</span>, Toast.LENGTH_SHORT).show(); <span class="hljs-comment">//error</span> } } }); } }</code>
HomeActivity
activity_home.xml代码
从左拖出的抽屉
<code class="hljs xml has-numbering"><span class="hljs-pi"><?xml version="1.0" encoding="utf-8"?></span> <span class="hljs-tag"><<span class="hljs-title">android.support.v4.widget.DrawerLayout</span> <span class="hljs-attribute">xmlns:android</span>=<span class="hljs-value">"http://schemas.android.com/apk/res/android"</span> <span class="hljs-attribute">xmlns:app</span>=<span class="hljs-value">"http://schemas.android.com/apk/res-auto"</span> <span class="hljs-attribute">xmlns:tools</span>=<span class="hljs-value">"http://schemas.android.com/tools"</span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/drawer_layout"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:fitsSystemWindows</span>=<span class="hljs-value">"true"</span> <span class="hljs-attribute">tools:openDrawer</span>=<span class="hljs-value">"start"</span>></span> <span class="hljs-tag"><<span class="hljs-title">include </span> <span class="hljs-attribute">layout</span>=<span class="hljs-value">"@layout/app_bar_home"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"match_parent"</span> /></span> <span class="hljs-tag"><<span class="hljs-title">android.support.design.widget.NavigationView </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/nav_view"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:layout_gravity</span>=<span class="hljs-value">"start"</span> <span class="hljs-attribute">android:fitsSystemWindows</span>=<span class="hljs-value">"true"</span> <span class="hljs-attribute">app:headerLayout</span>=<span class="hljs-value">"@layout/nav_header_home"</span> <span class="hljs-attribute">app:menu</span>=<span class="hljs-value">"@menu/activity_home_drawer"</span> /></span> <span class="hljs-tag"></<span class="hljs-title">android.support.v4.widget.DrawerLayout</span>></span> </code>
效果图
nav_header_home.xml代码
从左拖出的抽屉的头部
<code class="hljs xml has-numbering"><span class="hljs-pi"><?xml version="1.0" encoding="utf-8"?></span> <span class="hljs-tag"><<span class="hljs-title">LinearLayout</span> <span class="hljs-attribute">xmlns:android</span>=<span class="hljs-value">"http://schemas.android.com/apk/res/android"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"@dimen/nav_header_height"</span> <span class="hljs-attribute">android:background</span>=<span class="hljs-value">"@drawable/side_nav_bar"</span> <span class="hljs-attribute">android:gravity</span>=<span class="hljs-value">"bottom"</span> <span class="hljs-attribute">android:orientation</span>=<span class="hljs-value">"vertical"</span> <span class="hljs-attribute">android:paddingBottom</span>=<span class="hljs-value">"@dimen/activity_vertical_margin"</span> <span class="hljs-attribute">android:paddingLeft</span>=<span class="hljs-value">"@dimen/activity_horizontal_margin"</span> <span class="hljs-attribute">android:paddingRight</span>=<span class="hljs-value">"@dimen/activity_horizontal_margin"</span> <span class="hljs-attribute">android:paddingTop</span>=<span class="hljs-value">"@dimen/activity_vertical_margin"</span> <span class="hljs-attribute">android:theme</span>=<span class="hljs-value">"@style/ThemeOverlay.AppCompat.Dark"</span>></span> <span class="hljs-tag"><<span class="hljs-title">ImageView </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/imageView"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:paddingTop</span>=<span class="hljs-value">"@dimen/nav_header_vertical_spacing"</span> <span class="hljs-attribute">android:src</span>=<span class="hljs-value">"@android:drawable/sym_def_app_icon"</span> /></span> <span class="hljs-tag"><<span class="hljs-title">TextView </span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:paddingTop</span>=<span class="hljs-value">"@dimen/nav_header_vertical_spacing"</span> <span class="hljs-attribute">android:text</span>=<span class="hljs-value">"B14040525 梁钟智"</span> <span class="hljs-attribute">android:textAppearance</span>=<span class="hljs-value">"@style/TextAppearance.AppCompat.Body1"</span> /></span> <span class="hljs-tag"><<span class="hljs-title">TextView </span> <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/textView"</span> <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"wrap_content"</span> <span class="hljs-attribute">android:text</span>=<span class="hljs-value">"baszz@outlook.com"</span> /></span> <span class="hljs-tag"></<span class="hljs-title">LinearLayout</span>></span> </code>
效果图
content_home.xml
也就是点击Introduction进入的页面。
个人信息。
<code class="hljs applescript has-numbering"><?xml <span class="hljs-property">version</span>=<span class="hljs-string">"1.0"</span> encoding=<span class="hljs-string">"utf-8"</span>?> <RelativeLayout xmlns:android=<span class="hljs-string">"http://schemas.android.com/apk/res/android"</span> xmlns:app=<span class="hljs-string">"http://schemas.android.com/apk/res-auto"</span> xmlns:tools=<span class="hljs-string">"http://schemas.android.com/tools"</span> android:layout_width=<span class="hljs-string">"match_parent"</span> android:layout_height=<span class="hljs-string">"match_parent"</span> android:paddingBottom=<span class="hljs-string">"@dimen/activity_vertical_margin"</span> android:paddingLeft=<span class="hljs-string">"@dimen/activity_horizontal_margin"</span> android:paddingRight=<span class="hljs-string">"@dimen/activity_horizontal_margin"</span> android:paddingTop=<span class="hljs-string">"@dimen/activity_vertical_margin"</span> app:layout_behavior=<span class="hljs-string">"@string/appbar_scrolling_view_behavior"</span> tools:context=<span class="hljs-string">"com.example.zonzi.myresume.HomeActivity"</span> tools:showIn=<span class="hljs-string">"@layout/app_bar_home"</span>> <RelativeLayout android:layout_width=<span class="hljs-string">"match_parent"</span> android:layout_height=<span class="hljs-string">"match_parent"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> android:layout_alignParentTop=<span class="hljs-string">"true"</span>> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"姓名"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView2"</span> android:layout_alignParentTop=<span class="hljs-string">"true"</span> android:layout_alignStart=<span class="hljs-string">"@+id/textView3"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"梁钟智"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView3"</span> android:layout_below=<span class="hljs-string">"@+id/textView2"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"性别"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView4"</span> android:layout_below=<span class="hljs-string">"@+id/textView3"</span> android:layout_alignStart=<span class="hljs-string">"@+id/textView3"</span> android:layout_marginTop=<span class="hljs-string">"30dp"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"男"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView5"</span> android:layout_below=<span class="hljs-string">"@+id/textView4"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"年龄"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView6"</span> android:layout_below=<span class="hljs-string">"@+id/textView5"</span> android:layout_alignLeft=<span class="hljs-string">"@+id/textView4"</span> android:layout_marginTop=<span class="hljs-string">"30dp"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"20"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView7"</span> android:layout_below=<span class="hljs-string">"@+id/textView6"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"学校"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView8"</span> android:layout_below=<span class="hljs-string">"@+id/textView7"</span> android:layout_alignLeft=<span class="hljs-string">"@+id/textView6"</span> android:layout_marginTop=<span class="hljs-string">"30dp"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"南京邮电大学"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView9"</span> android:layout_below=<span class="hljs-string">"@+id/textView8"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"专业"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView10"</span> android:layout_below=<span class="hljs-string">"@+id/textView9"</span> android:layout_alignLeft=<span class="hljs-string">"@+id/textView6"</span> android:layout_marginTop=<span class="hljs-string">"30dp"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"计算机科学与技术"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView11"</span> android:layout_below=<span class="hljs-string">"@+id/textView10"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"籍贯"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView12"</span> android:layout_below=<span class="hljs-string">"@+id/textView11"</span> android:layout_alignLeft=<span class="hljs-string">"@+id/textView6"</span> android:layout_marginTop=<span class="hljs-string">"30dp"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"广东"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView13"</span> android:layout_below=<span class="hljs-string">"@+id/textView12"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> </RelativeLayout> </RelativeLayout> </code>
效果图
activity_home.java
让用户选择抽屉
<code class="hljs java has-numbering"><span class="hljs-keyword">package</span> com.example.zonzi.myresume; <span class="hljs-keyword">import</span> android.content.Intent; <span class="hljs-keyword">import</span> android.os.Bundle; <span class="hljs-keyword">import</span> android.support.design.widget.FloatingActionButton; <span class="hljs-keyword">import</span> android.support.design.widget.Snackbar; <span class="hljs-keyword">import</span> android.view.View; <span class="hljs-keyword">import</span> android.support.design.widget.NavigationView; <span class="hljs-keyword">import</span> android.support.v4.view.GravityCompat; <span class="hljs-keyword">import</span> android.support.v4.widget.DrawerLayout; <span class="hljs-keyword">import</span> android.support.v7.app.ActionBarDrawerToggle; <span class="hljs-keyword">import</span> android.support.v7.app.AppCompatActivity; <span class="hljs-keyword">import</span> android.support.v7.widget.Toolbar; <span class="hljs-keyword">import</span> android.view.Menu; <span class="hljs-keyword">import</span> android.view.MenuItem; <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">HomeActivity</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">AppCompatActivity</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">NavigationView</span>.<span class="hljs-title">OnNavigationItemSelectedListener</span> {</span> <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onCreate</span>(Bundle savedInstanceState) { <span class="hljs-keyword">super</span>.onCreate(savedInstanceState); setContentView(R.layout.activity_home); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(<span class="hljs-keyword">new</span> View.OnClickListener() { <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onClick</span>(View view) { Snackbar.make(view, <span class="hljs-string">"Replace with your own action"</span>, Snackbar.LENGTH_LONG) .setAction(<span class="hljs-string">"Action"</span>, <span class="hljs-keyword">null</span>).show(); } }); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = <span class="hljs-keyword">new</span> ActionBarDrawerToggle( <span class="hljs-keyword">this</span>, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(<span class="hljs-keyword">this</span>); } <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onBackPressed</span>() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); <span class="hljs-keyword">if</span> (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } <span class="hljs-keyword">else</span> { <span class="hljs-keyword">super</span>.onBackPressed(); } } <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">onCreateOptionsMenu</span>(Menu menu) { <span class="hljs-comment">// Inflate the menu; this adds items to the action bar if it is present.</span> getMenuInflater().inflate(R.menu.home, menu); <span class="hljs-keyword">return</span> <span class="hljs-keyword">true</span>; } <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">onOptionsItemSelected</span>(MenuItem item) { <span class="hljs-comment">// Handle action bar item clicks here. The action bar will</span> <span class="hljs-comment">// automatically handle clicks on the Home/Up button, so long</span> <span class="hljs-comment">// as you specify a parent activity in AndroidManifest.xml.</span> <span class="hljs-comment">//jump to SettingsActivity</span> Intent i = <span class="hljs-keyword">new</span> Intent(HomeActivity.<span class="hljs-keyword">this</span>,SettingsActivity.class); startActivity(i); <span class="hljs-keyword">int</span> id = item.getItemId(); <span class="hljs-comment">//noinspection SimplifiableIfStatement</span> <span class="hljs-keyword">if</span> (id == R.id.action_settings) { <span class="hljs-keyword">return</span> <span class="hljs-keyword">true</span>; } <span class="hljs-keyword">return</span> <span class="hljs-keyword">super</span>.onOptionsItemSelected(item); } <span class="hljs-annotation">@SuppressWarnings</span>(<span class="hljs-string">"StatementWithEmptyBody"</span>) <span class="hljs-annotation">@Override</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">onNavigationItemSelected</span>(MenuItem item) { <span class="hljs-comment">// Handle navigation view item clicks here.</span> <span class="hljs-keyword">int</span> id = item.getItemId(); <span class="hljs-keyword">if</span> (id == R.id.nav_camera) { <span class="hljs-comment">// Handle the camera action</span> } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (id == R.id.nav_gallery) { <span class="hljs-comment">//jump to ExperienceActivity</span> Intent i = <span class="hljs-keyword">new</span> Intent(HomeActivity.<span class="hljs-keyword">this</span>,ExperienceActivity.class); startActivity(i); } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (id == R.id.nav_slideshow) { <span class="hljs-comment">//jump to EducationActivity</span> Intent i = <span class="hljs-keyword">new</span> Intent(HomeActivity.<span class="hljs-keyword">this</span>,EducationActivity.class); startActivity(i); <span class="hljs-comment">// } else if (id == R.id.nav_manage) {</span> } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (id == R.id.nav_share) { <span class="hljs-comment">//jump to ContactActivity</span> Intent i = <span class="hljs-keyword">new</span> Intent(HomeActivity.<span class="hljs-keyword">this</span>,ContactActivity.class); startActivity(i); <span class="hljs-comment">// } else if (id == R.id.nav_send) {</span> } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); <span class="hljs-keyword">return</span> <span class="hljs-keyword">true</span>; } }</code>
ExperienceActivity
点击抽屉中的Experience后进入页面
experience_activity.xml
详细个人经历及获奖情况
大文本内容写在Strings.xml里
<code class="hljs avrasm has-numbering"><?xml version=<span class="hljs-string">"1.0"</span> encoding=<span class="hljs-string">"utf-8"</span>?> <android<span class="hljs-preprocessor">.support</span><span class="hljs-preprocessor">.design</span><span class="hljs-preprocessor">.widget</span><span class="hljs-preprocessor">.CoordinatorLayout</span> xmlns:android=<span class="hljs-string">"http://schemas.android.com/apk/res/android"</span> xmlns:app=<span class="hljs-string">"http://schemas.android.com/apk/res-auto"</span> xmlns:tools=<span class="hljs-string">"http://schemas.android.com/tools"</span> android:layout_width=<span class="hljs-string">"match_parent"</span> android:layout_height=<span class="hljs-string">"match_parent"</span> android:fitsSystemWindows=<span class="hljs-string">"true"</span> tools:context=<span class="hljs-string">"com.example.zonzi.myresume.ExperienceActivity"</span>> <android<span class="hljs-preprocessor">.support</span><span class="hljs-preprocessor">.design</span><span class="hljs-preprocessor">.widget</span><span class="hljs-preprocessor">.AppBarLayout</span> android:id=<span class="hljs-string">"@+id/app_bar"</span> android:layout_width=<span class="hljs-string">"match_parent"</span> android:layout_height=<span class="hljs-string">"@dimen/app_bar_height"</span> android:fitsSystemWindows=<span class="hljs-string">"true"</span> android:theme=<span class="hljs-string">"@style/AppTheme.AppBarOverlay"</span>> <android<span class="hljs-preprocessor">.support</span><span class="hljs-preprocessor">.design</span><span class="hljs-preprocessor">.widget</span><span class="hljs-preprocessor">.CollapsingToolbarLayout</span> android:id=<span class="hljs-string">"@+id/toolbar_layout"</span> android:layout_width=<span class="hljs-string">"match_parent"</span> android:layout_height=<span class="hljs-string">"match_parent"</span> android:fitsSystemWindows=<span class="hljs-string">"true"</span> app:contentScrim=<span class="hljs-string">"?attr/colorPrimary"</span> app:layout_scrollFlags=<span class="hljs-string">"scroll|exitUntilCollapsed"</span>> <android<span class="hljs-preprocessor">.support</span><span class="hljs-preprocessor">.v</span>7<span class="hljs-preprocessor">.widget</span><span class="hljs-preprocessor">.Toolbar</span> android:id=<span class="hljs-string">"@+id/toolbar"</span> android:layout_width=<span class="hljs-string">"match_parent"</span> android:layout_height=<span class="hljs-string">"?attr/actionBarSize"</span> app:layout_collapseMode=<span class="hljs-string">"pin"</span> app:popupTheme=<span class="hljs-string">"@style/AppTheme.PopupOverlay"</span> /> </android<span class="hljs-preprocessor">.support</span><span class="hljs-preprocessor">.design</span><span class="hljs-preprocessor">.widget</span><span class="hljs-preprocessor">.CollapsingToolbarLayout</span>> </android<span class="hljs-preprocessor">.support</span><span class="hljs-preprocessor">.design</span><span class="hljs-preprocessor">.widget</span><span class="hljs-preprocessor">.AppBarLayout</span>> <include layout=<span class="hljs-string">"@layout/content_experience"</span> /> <android<span class="hljs-preprocessor">.support</span><span class="hljs-preprocessor">.design</span><span class="hljs-preprocessor">.widget</span><span class="hljs-preprocessor">.FloatingActionButton</span> android:id=<span class="hljs-string">"@+id/fab"</span> android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:layout_margin=<span class="hljs-string">"@dimen/fab_margin"</span> android:src=<span class="hljs-string">"@android:drawable/ic_dialog_email"</span> app:layout_anchor=<span class="hljs-string">"@id/app_bar"</span> app:layout_anchorGravity=<span class="hljs-string">"bottom|end"</span> /> </android<span class="hljs-preprocessor">.support</span><span class="hljs-preprocessor">.design</span><span class="hljs-preprocessor">.widget</span><span class="hljs-preprocessor">.CoordinatorLayout</span>></code>
效果图
EducationActivity
点击抽屉中的Education后进入页面
个人教育经历概况
activity_education.xml
使用相对布局
<code class="hljs applescript has-numbering"><?xml <span class="hljs-property">version</span>=<span class="hljs-string">"1.0"</span> encoding=<span class="hljs-string">"utf-8"</span>?> <RelativeLayout xmlns:android=<span class="hljs-string">"http://schemas.android.com/apk/res/android"</span> xmlns:tools=<span class="hljs-string">"http://schemas.android.com/tools"</span> android:layout_width=<span class="hljs-string">"match_parent"</span> android:layout_height=<span class="hljs-string">"match_parent"</span> android:paddingBottom=<span class="hljs-string">"@dimen/activity_vertical_margin"</span> android:paddingLeft=<span class="hljs-string">"@dimen/activity_horizontal_margin"</span> android:paddingRight=<span class="hljs-string">"@dimen/activity_horizontal_margin"</span> android:paddingTop=<span class="hljs-string">"@dimen/activity_vertical_margin"</span> tools:context=<span class="hljs-string">"com.example.zonzi.myresume.EducationActivity"</span>> <RelativeLayout android:layout_width=<span class="hljs-string">"match_parent"</span> android:layout_height=<span class="hljs-string">"match_parent"</span> android:layout_alignParentTop=<span class="hljs-string">"true"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> android:layout_marginTop=<span class="hljs-string">"45dp"</span>> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"小学"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView14"</span> android:layout_alignParentTop=<span class="hljs-string">"true"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"福田小学"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView15"</span> android:layout_below=<span class="hljs-string">"@+id/textView14"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceSmall"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"2002-2008"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView16"</span> android:layout_below=<span class="hljs-string">"@+id/textView15"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"初中"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView17"</span> android:layout_below=<span class="hljs-string">"@+id/textView16"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> android:layout_marginTop=<span class="hljs-string">"43dp"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"深圳实验学校中学部"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView18"</span> android:layout_below=<span class="hljs-string">"@+id/textView17"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceSmall"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"2008-2011"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView19"</span> android:layout_below=<span class="hljs-string">"@+id/textView18"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"高中"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView20"</span> android:layout_centerVertical=<span class="hljs-string">"true"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"深圳实验学校高中部"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView21"</span> android:layout_below=<span class="hljs-string">"@+id/textView20"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceSmall"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"2011-2014"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView22"</span> android:layout_below=<span class="hljs-string">"@+id/textView21"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceLarge"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"大学"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView23"</span> android:layout_below=<span class="hljs-string">"@+id/textView22"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> android:layout_marginTop=<span class="hljs-string">"53dp"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceMedium"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"南京邮电大学"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView24"</span> android:layout_below=<span class="hljs-string">"@+id/textView23"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> <TextView android:layout_width=<span class="hljs-string">"wrap_content"</span> android:layout_height=<span class="hljs-string">"wrap_content"</span> android:textAppearance=<span class="hljs-string">"?android:attr/textAppearanceSmall"</span> android:<span class="hljs-type">text</span>=<span class="hljs-string">"2014-现在"</span> android:<span class="hljs-property">id</span>=<span class="hljs-string">"@+id/textView25"</span> android:layout_below=<span class="hljs-string">"@+id/textView24"</span> android:layout_centerHorizontal=<span class="hljs-string">"true"</span> /> </RelativeLayout> </RelativeLayout> </code>
效果图
ContactActivity
点击抽屉中的Contact后进入页面
个人联系方式
全部使用Design视图的拖拽完成,不贴代码
效果图
SettingsActivity
直接使用AndroidStudio的模板建立, 点击右上角设置菜单后进入
总结
其实这次的项目并没有太多含金量,都是让我熟悉使用简单的模板,布局以及一些常用的属性。
出现的问题不是很多,因为步骤比较简单。
出现的bug
- Intent关键字首字母没大写
- 将图片按照eclipse的习惯放入以下路径(C:\Users\Zonzi\AndroidStudioProjects\MyResume\app\src\main\res\mipmap-xxxhdpi)后,却在.xml文件中如下引用:android:background=”@drawable/rvpcover” 正确引用应该是:android:background=”@mipmap/rvpcover”
视频演示:点击打开链接
自此开启了在CSDN的博客之旅,希望日后自己坚持下去,终有一日成为强人。