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

猜你喜欢

转载自www.cnblogs.com/homelessdog/p/10634312.html