Android應用開發入門01


Android應用開發入門01

文件目錄

-res 資源文件夾

--drawable 圖片,xml文件

--layout 布局文件

--mipmap-hdpi 圖片,logo

--AndroidManifest 所有的activity都要在manifest中注冊;

布局管理器

線性布局LinearLayout

LinearLayout最常用屬性
屬性 描述
android:id 控件標識id
android:layout_width 控件寬度
android:layout_height 控件高度
android:background 控件背景(背景色,背景圖片)
android:layout_margin 控件外邊距
android:layout_padding 控件內邊距
android:orientation 控件方向,只有線性布局才有這個屬性

 

屬性值:

android:layout_weight="wrap_content"  包含內容,控件中內容多大,控件就多大;
android:layout_weight="match_parent"  匹配父控件,匹配上一級控件的大小;
android:layout_width="200dp"  在Android常使用dp做單位,字體使用sp做單位;
<View></View>  所有控件的一個父類;

<LinearLayout>  默認使用水平排列也就是android:orientation="horizontal"
android:gravity:內部元素擺放的對齊方式
android:layout_weight:元素權重,元素在父控件中除了自身長寬后的占比。
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:orientation="vertical"
 8     tools:context=".MainActivity">
 9 
10     <LinearLayout
11 
12         android:layout_width="200dp"
13         android:layout_height="200dp"
14         android:orientation="vertical"
15         android:background="#000000"
16         android:paddingLeft="20dp"
17         android:paddingRight="30dp"
18         android:paddingTop="50dp"
19         android:paddingBottom="10dp"
20         android:layout_marginBottom="20dp">
21         <View
22             android:layout_width="match_parent"
23             android:layout_height="match_parent"
24             android:background="#FF0000"
25             />
26 
27     </LinearLayout>
28     <LinearLayout
29         android:layout_width="match_parent"
30         android:layout_height="200dp"
31         android:orientation="horizontal"
32         android:background="#0000FF"
33         android:layout_marginTop="20dp"
34         android:layout_marginLeft="15dp"
35         android:layout_marginRight="15dp"
36         android:gravity="center">
37         <View
38             android:layout_width="0dp"
39             android:layout_height="200dp"
40             android:background="#00FF00"
41             android:layout_weight="1"/>
42 
43         <View
44             android:layout_width="0dp"
45             android:layout_height="200dp"
46             android:background="#FF0000"
47             android:layout_weight="2"/>
48 
49         <View
50             android:layout_width="0dp"
51             android:layout_height="200dp"
52             android:background="#0000FF"
53             android:layout_weight="1"/>
54     </LinearLayout>
55 
56 </LinearLayout>
LinearLayout

相對布局RelativeLayout

RelativeLayout最常用屬性
屬性 描述
android:layout_toLeftOf 在誰的左邊
android:layout_toRightOf 在誰的右邊
android:layout_alignBottom 跟誰底部對齊
android:layout_alignparentBottom 跟父控件底部對齊
android:layout_below 在誰的下面

 

 

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context=".MainActivity">
 8 
 9     <View
10         android:id="@+id/view_1"
11         android:layout_width="100dp"
12         android:layout_height="100dp"
13         android:background="#000000"
14         />
15     <View
16         android:id="@+id/view_2"
17         android:layout_width="100dp"
18         android:layout_height="100dp"
19         android:background="#0000FF"
20         android:layout_toRightOf="@id/view_1"/>
21     <View
22         android:id="@+id/view_3"
23         android:layout_width="100dp"
24         android:layout_height="100dp"
25         android:background="#00FF00"
26         android:layout_below="@id/view_1"/>
27     <LinearLayout
28         android:layout_width="match_parent"
29         android:layout_height="100dp"
30         android:layout_below="@id/view_3"
31         android:background="#FF0000"
32         android:orientation="horizontal"
33         android:padding="15dp">
34         <View
35             android:layout_width="100dp"
36             android:layout_height="match_parent"
37             android:background="#00FF00"
38             />
39         <RelativeLayout
40             android:layout_width="match_parent"
41             android:layout_height="match_parent"
42             android:background="#FFFF00"
43             android:padding="15dp">
44             <View
45                 android:id="@+id/view_4"
46                 android:layout_width="100dp"
47                 android:layout_height="match_parent"
48                 android:background="#00FFFF"
49                 />
50             <View
51                 android:id="@+id/view_5"
52                 android:layout_width="100dp"
53                 android:layout_height="match_parent"
54                 android:background="#FF00FF"
55                 android:layout_toRightOf="@id/view_4"
56                 android:layout_marginLeft="10dp"
57                 />
58         </RelativeLayout>
59     </LinearLayout>
60     
61 </RelativeLayout>
RelativeLayout

TextView

文字大小,顏色

顯式不下使用...

1 android:ellipsize="end"

文字+icon

 1 <TextView  2 android:id="@+id/textview_3"  3  android:layout_width="wrap_content"  4  android:layout_height="wrap_content"  5  android:text="@string/tv_1"  6  android:textColor="#FF0000"  7  android:textSize="30sp"  8  android:layout_marginTop="10dp"  9  android:drawableRight="@drawable/Android_32" 10  android:drawablePadding="5dp"/>

中划線,下划線

 1 import android.graphics.Paint;
 2 import android.support.v7.app.AppCompatActivity;
 3 import android.os.Bundle;
 4 import android.widget.TextView;
 5 
 6 public class TextViewActivity extends AppCompatActivity {
 7 
 8     private TextView mTv4;
 9     private TextView mTv5;
10     @Override
11     protected void onCreate(Bundle savedInstanceState) {
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_text_view);
14         mTv4 = findViewById(R.id.textview_4);
15         mTv4.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//中划線
16         mTv4.getPaint().setAntiAlias(true);//去除鋸齒
17         mTv5 = findViewById(R.id.textview_5);
18         mTv5.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//下划線
19     }
20 }
View Code

跑馬燈

 1     <TextView
 2         android:id="@+id/textview_7"
 3         android:layout_width="wrap_content"
 4         android:layout_height="wrap_content"
 5         android:text="我喜歡豬豬我喜歡豬豬我喜歡豬豬我喜歡豬豬我喜歡豬豬我喜歡豬豬!"
 6         android:ellipsize="marquee"
 7         android:marqueeRepeatLimit="marquee_forever"
 8         android:singleLine="true"
 9         android:textColor="#FF0000"
10         android:textSize="30sp"
11         android:layout_marginTop="10dp"
12         android:focusable="true"
13         android:focusableInTouchMode="true"/>

聲明Activity:

1 <activity android:name=".TextViewActivity"></activity>
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical"
 6     android:padding="10dp">
 7     
 8     <TextView
 9         android:id="@+id/textview_1"
10         android:layout_width="wrap_content"
11         android:layout_height="wrap_content"
12         android:text="@string/tv_1"
13         android:textColor="#FF0000"
14         android:textSize="30sp"/>
15 
16 </LinearLayout>
顏色,字體大小
 1 import android.content.Intent;
 2 import android.support.v7.app.AppCompatActivity;
 3 import android.os.Bundle;
 4 import android.view.View;
 5 import android.widget.Button;
 6 
 7 public class MainActivity extends AppCompatActivity {
 8 
 9     private Button mBtnTextView;
10     @Override
11     protected void onCreate(Bundle savedInstanceState) {
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_main);
14         mBtnTextView = findViewById(R.id.btn_textview);
15         mBtnTextView.setOnClickListener(new View.OnClickListener() {
16             @Override
17             public void onClick(View v) {
18                 //跳轉到TextView演示界面
19                 Intent intent = new Intent(MainActivity.this,TextViewActivity.class);
20                 startActivity(intent);
21 
22             }
23         });
24     }
25 }
點擊按鈕跳轉

Button

文字大小,顏色

1 <Button 2 android:id="@+id/btn-1" 3  android:layout_width="match_parent" 4  android:layout_height="wrap_content" 5  android:text="按鈕1" 6  android:textSize="20sp" 7  android:textColor="#00FFFF" 8  android:background="#FFFF00"/>

自定義背景形狀

實體圓角

1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android" 3  android:shape="rectangle"> 4 <solid 5 android:color="#FF9900"/> 6 <corners 7 android:radius="5dp"/> 8 9 </shape>

空心圓角

 1 <?xml version="1.0" encoding="utf-8"?>  2 <shape xmlns:android="http://schemas.android.com/apk/res/android"  3  android:shape="rectangle">  4 <stroke  5 android:width="2dp"  6  android:color="#FF9900"/>  7 <corners  8 android:radius="5dp"/>  9 10 </shape>

自定義按壓效果

 1 <?xml version="1.0" encoding="utf-8"?>  2 <selector xmlns:android="http://schemas.android.com/apk/res/android">  3 <item android:state_pressed="true">  4 <shape>  5 <solid android:color="#123456" />  6 <corners android:radius="5dp"/>  7 </shape>  8 </item>  9 <item android:state_pressed="false"> 10 <shape> 11 <solid android:color="#654321" /> 12 <corners android:radius="5dp"/> 13 </shape> 14 </item> 15 16 </selector>

點擊事件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:padding="10dp" >
 6     <Button
 7         android:id="@+id/btn_1"
 8         android:layout_width="match_parent"
 9         android:layout_height="wrap_content"
10         android:text="按鈕1"
11         android:textSize="20sp"
12         android:textColor="#00FFFF"
13         android:background="#FFFF00"/>
14 
15     <Button
16         android:id="@+id/btn_2"
17         android:layout_width="match_parent"
18         android:layout_height="wrap_content"
19         android:text="按鈕2"
20         android:textSize="20sp"
21         android:textColor="#00FFFF"
22         android:background="@drawable/bg_btn2"
23         android:layout_below="@id/btn_1"
24         android:layout_marginTop="10dp"/>
25 
26     <Button
27         android:id="@+id/btn_3"
28         android:layout_width="match_parent"
29         android:layout_height="wrap_content"
30         android:text="按鈕3"
31         android:textSize="20sp"
32         android:textColor="#00FFFF"
33         android:background="@drawable/bg_btn3"
34         android:layout_below="@id/btn_2"
35         android:layout_marginTop="10dp"/>
36 
37     <Button
38         android:id="@+id/btn_4"
39         android:layout_width="match_parent"
40         android:layout_height="wrap_content"
41         android:text="按鈕4"
42         android:textSize="20sp"
43         android:textColor="#00FFFF"
44         android:background="@drawable/bg_btn4"
45         android:layout_below="@id/btn_3"
46         android:layout_marginTop="10dp"
47         android:onClick="showToast"/>
48 
49 </RelativeLayout>
View Code
 1 package com.example.admin.layouttest;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.view.View;
 6 import android.widget.Button;
 7 import android.widget.Toast;
 8 
 9 public class ButtonActivity extends AppCompatActivity {
10     //聲明控件
11     private Button mBtn3;
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_button);
16         mBtn3 = findViewById(R.id.btn_3);
17         mBtn3.setOnClickListener(new View.OnClickListener() {
18             @Override
19             public void onClick(View v) {
20                 Toast.makeText(ButtonActivity.this,"btn3被點擊了!",Toast.LENGTH_SHORT).show();
21             }
22         });
23     }
24 
25     public void showToast(View view){
26         Toast.makeText(this,"btn4被點擊了!",Toast.LENGTH_SHORT).show();
27     }
28 }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM