Android入门

一、控件

(一)TextView

1、基本属性

在这里插入图片描述

<TextView
        android:id="@+id/one"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="#FF00FF00"
        android:gravity="center"
        android:text="@string/one"
        android:textColor="@color/red"
        android:textSize="50sp"
        android:textStyle="italic">
    </TextView>
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TextView one=findViewById(R.id.one);//通过id获得
        one.setText("tdl");
    }
}
//colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="purple_200">#FFBB86FC</color>
    <color name="purple_500">#FF6200EE</color>
    <color name="purple_700">#FF3700B3</color>
    <color name="teal_200">#FF03DAC5</color>
    <color name="teal_700">#FF018786</color>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>
    <color name="red">#FFFF0000</color>
</resources>

//strings.xml
<resources>
    <string name="app_name">HelloWorld</string>
    <string name="one">tdl</string>
</resources>

2、带阴影的TextView

在这里插入图片描述

		android:shadowColor="@color/green"
        android:shadowRadius="3.0"
        android:shadowDx="15"
        android:shadowDy="15"

3、实现跑马灯效果

在这里插入图片描述

<TextView
        android:id="@+id/one"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="@string/one"
        android:textColor="@color/red"
        android:textSize="50sp"
        android:textStyle="italic"
        android:shadowColor="@color/green"
        android:shadowRadius="3.0"
        android:shadowDx="15"
        android:shadowDy="15"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:clickable="true">
        <requestFocus/>
    </TextView>

可以自定义MytextView类,实现focus

(二)Button

1、基本属性

在这里插入图片描述

<Button
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/btn_selector"
        android:backgroundTint="@color/btn_color_selecter"
        >
    </Button>
    
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/green" android:state_pressed="true" />
    <item android:color="@color/red"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_baseline_account_box_24" android:state_pressed="true"/>
    <item android:drawable="@drawable/ic_baseline_account_circle_24"/>
</selector>

2、Button事件处理

public class MainActivity extends AppCompatActivity {

    private static final String TAG="leo";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

//        TextView one=findViewById(R.id.one);
//        one.setText("tdl");

        Button btn=findViewById(R.id.btn);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.e(TAG,"click");
//                System.out.println("click");

            }
        });
        btn.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                Log.e(TAG,"long");
//                System.out.println("long");
                return false;
            }
        });
        btn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                Log.e(TAG,"touch");
//                System.out.println("touch");
                return false;
            }
        });
    }
}

(三)EditText

1、主要属性

在这里插入图片描述

<EditText
        android:id="@+id/username"
        android:layout_width="200dp"
        android:layout_height="50dp"
        android:drawableLeft="@drawable/ic_baseline_account_circle_24"
        android:hint="@string/username"
        android:inputType="text"
        android:textSize="20dp"
        />

    <EditText
        android:id="@+id/password"
        android:layout_width="200dp"
        android:layout_height="50dp"
        android:drawableLeft="@drawable/ic_baseline_account_box_24"
        android:hint="@string/password"
        android:inputType="textPassword"
        android:textSize="20dp" />

    <Button
        android:id="@+id/btn1"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:text="登录"
        android:textSize="20sp"></Button>
//写为全局
private TextView username;

//监听函数
 Button btn1 = findViewById(R.id.btn1);
        username = findViewById(R.id.username);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String text = username.getText().toString();
                Log.e("tdl", "username: " + text);
            }
        });

(四)ImageView

1、主要属性

在这里插入图片描述

2、缩放类型

在这里插入图片描述

 <ImageView
        android:src="@drawable/good"
        android:scaleType="fitCenter"
        android:layout_width="200dp"
        android:layout_height="200dp">
    </ImageView>

(五)ProgressBar

1、基本属性

在这里插入图片描述

<ProgressBar
        android:id="@+id/pb"
        android:layout_width="200dp"
        android:layout_height="200dp"
        />

    <Button
        android:id="@+id/btn"
        android:layout_width="200sp"
        android:layout_height="60sp"
        android:text="隐藏"
        android:textSize="25dp"
        />

    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:id="@+id/pb2"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:max="100"

        />
    <Button
        android:id="@+id/btn2"
        android:onClick="load"
        android:text="模拟下载"
        android:textSize="20sp"
        android:layout_width="150dp"
        android:layout_height="50dp"
        />

    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:max="100"
        android:indeterminate="true"

        />

 Button btn = findViewById(R.id.btn);
        pb = findViewById(R.id.pb);
        pb2 = findViewById(R.id.pb2);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (pb.getVisibility() == View.GONE) {
                    pb.setVisibility(View.VISIBLE);
                } else {
                    pb.setVisibility(View.GONE);
                }
            }
        });
    }

    public void load(View view) {
        int progress = pb2.getProgress();
        if (progress == 100) {
            progress = 0;
        }
        progress += 10;
        pb2.setProgress(progress);
    }

(六)Notification

1、基本属性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 <Button
        android:text="通知"
        android:onClick="notification"
        android:layout_width="150dp"
        android:layout_height="50dp"
        />
    <Button
        android:text="取消"
        android:onClick="cancelnotification"
        android:layout_width="150dp"
        android:layout_height="50dp"
        />

 private NotificationManager manager;
 private Notification notification;

 manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationChannel channel = new NotificationChannel("tdl", "测试通知", NotificationManager.IMPORTANCE_HIGH);
            manager.createNotificationChannel(channel);
        }
        notification = new NotificationCompat.Builder(this, "tdl")
                .setContentTitle("官方通知")
                .setContentText("世界那么大,你为什么不去看看?")
                .setSmallIcon(R.drawable.ic_baseline_account_circle_24)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.good))
                .build();
    }

    public void notification(View view) {
        manager.notify(1, notification);
    }
    public void cancelnotification(View view) {

    }

(七)Toolbar

1、基本属性

在这里插入图片描述

 <androidx.appcompat.widget.Toolbar
        android:background="@color/cardview_dark_background"
        app:navigationIcon="@drawable/ic_baseline_account_circle_24"
        app:title="@string/app_name"
        app:titleTextColor="@color/green"
        app:subtitle="tdl"
        app:subtitleTextColor="@color/red"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"/>

(八)AlertDiglog

1、基本属性

在这里插入图片描述

public void alert(View view) {

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("消息")
                .setIcon(R.drawable.ic_baseline_account_circle_24)
                .setMessage("hello world")
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                })
                .setNeutralButton("彩蛋", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                })
                .create()
                .show();
    }
 <Button
        android:text="对话框"
        android:textSize="30dp"
        android:onClick="alert"
        android:layout_width="150dp"
        android:layout_height="100dp"/>

(九)PopupWindow

1、基本属性在这里插入图片描述

二、布局

(一)LinearLayout

(二)RelativeLayout

(三)frameLayout

(四)tableLayout

(五)GridLayout

(六)ConstraintLayout

三、ListView

    <ListView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
 <TextView
        android:id="@+id/tv"
        android:layout_width="match_parent"
        android:layout_height="50dp">
    </TextView>
package cool.tdl.listview;

public class Bean {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

package cool.tdl.listview;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.List;

public class myAdapter extends BaseAdapter {
    private List<Bean> list;
    private Context context;

    public myAdapter(List<Bean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        if (view==null){
             view = LayoutInflater.from(context).inflate(R.layout.list_item, viewGroup, false);
        }
        TextView text = view.findViewById(R.id.tv);
        text.setText(list.get(i).getName());
        return view;
    }
}

package cool.tdl.listview;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private List<Bean> data=new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        for (int i=0;i<100;i++){
            Bean bean = new Bean();
            bean.setName("小滕"+i);
            data.add(bean);
        }

        ListView lv = findViewById(R.id.lv);
        lv.setAdapter(new myAdapter(data,this));

    }
}

四、RecyclerView

五、动画

六、单位和尺寸

七、Viewpager

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值