Android入门02 -- UI控件

2021-12-06  本文已影响0人  YanZi_33

TextView控件

设置TextView文本的阴影颜色
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_width="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:id="@+id/tv_one"
        android:text="燕子"
        android:textColor="@color/black"
        android:textStyle="italic"
        android:textSize="40sp"
        android:gravity="center_vertical"
        android:shadowColor="@color/red"
        android:shadowRadius="3.0"
        android:shadowDx="10"
        android:shadowDy="10"/>
</LinearLayout>
实现跑马灯效果的TextView
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_width="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:id="@+id/tv_one"
        android:text="燕子燕子生生世世说话啊哈撒点上课了斯大林打卡"
        android:textColor="@color/black"
        android:textStyle="italic"
        android:textSize="40sp"
        android:gravity="center_vertical"
        android:shadowColor="@color/red"
        android:shadowRadius="3.0"
        android:shadowDx="10"
        android:shadowDy="10"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:clickable="true">
        <requestFocus/>
    </TextView>
</LinearLayout>

Button按钮

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    //点击按钮时的背景图片
    <item android:drawable="@drawable/ic_baseline_airplanemode_active_24" android:state_pressed="true"/>
    //正常状态下的背景图片
    <item android:drawable="@drawable/ic_baseline_airport_shuttle_24" />
</selector>
Snip20211206_32.png
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    //点击按钮时的背景图片的颜色
    <item android:color="#ffff0000" android:state_pressed="true"/>
    //正常状态下的背景图片的颜色
    <item android:color="#ff00ff00" />
</selector>
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_width="match_parent">

    <Button
        android:layout_width="200dp"
        android:layout_height="50dp"
        android:text="我是按钮"
        android:background="@drawable/button_selector"
        android:backgroundTint="@color/button_color_selector"/>
</LinearLayout>
Button的事件处理
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

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

        Button button = findViewById(R.id.button);
        //点击事件
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.e("MainActivity","点击按钮");
            }
        });
        //长按事件
        button.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                Log.e("MainActivity","长按按钮");
                return false;
            }
        });
        //触摸事件
        button.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Log.e("MainActivity","触摸按钮");
                return false;
            }
        });
    }
}
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_width="match_parent">

    <Button
        android:layout_width="200dp"
        android:layout_height="50dp"
        android:text="我是按钮"
        android:background="@drawable/button_selector"
        android:backgroundTint="@color/button_color_selector"
        android:id="@+id/button"
        android:onClick="clickButton"/>
</LinearLayout>
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
    }
    
    public void clickButton(View view) {
        Log.e("MainActivity","点击按钮");
    }
}

EditText

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_width="match_parent">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:hint="请输入用户名"
        android:textColorHint="#95a1aa"
        android:inputType="phone"
        android:drawableLeft="@drawable/ic_baseline_account_circle_24"
        android:drawablePadding="15dp"
        android:padding="15dp"
        android:background="@color/white"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:hint="请输入密码"
        android:textColorHint="#95a1aa"
        android:inputType="textPassword"
        android:drawableLeft="@drawable/ic_baseline_lock_24"
        android:drawablePadding="15dp"
        android:padding="15dp"
        android:background="@color/white"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_marginTop="25dp"
        android:text="登录"
        android:background="@color/red"/>

</LinearLayout>

ImageView

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_width="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/wd_ranklist_default"
        android:scaleType="centerInside"
        android:maxWidth="200dp"
        android:maxHeight="200dp"
        android:adjustViewBounds="true"/>

</LinearLayout>

ProgressBar

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_width="match_parent">

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/progress_bar"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="控制进度条的显示与隐藏"
        android:onClick="clickButton"/>

    <ProgressBar
        android:layout_marginTop="20dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/progress_bar1"
        style="?android:attr/progressBarStyleHorizontal"  //水平进度条
        android:max="100"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="模拟进度"
        android:onClick="click"/>

</LinearLayout>
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ProgressBar;

public class MainActivity extends AppCompatActivity {

    private ProgressBar progressBar;
    private ProgressBar progressBar1;

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

        progressBar = findViewById(R.id.progress_bar);
        progressBar1 = findViewById(R.id.progress_bar1);
    }

    public void clickButton(View view) {
        Log.e("MainActivity","点击按钮");
        if (progressBar.getVisibility() == View.GONE) {
            progressBar.setVisibility(View.VISIBLE);
        } else {
            progressBar.setVisibility(View.GONE);
        }
    }

    public void click(View view) {
        int progress = progressBar1.getProgress();
        progress+=10;
        progressBar1.setProgress(progress);
    }
}

Notification通知

ToolBar

image.png
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent">

    <androidx.appcompat.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:id="@+id/toolbar"
        android:background="#ffff00"
        app:navigationIcon="@drawable/ic_baseline_arrow_back_ios_24"
        app:title="首页"
        app:titleTextColor="@color/red"
        app:titleMarginStart="120dp"
        app:subtitle="子标题"
        app:subtitleTextColor="@color/purple_200"
        app:logo="@drawable/ic_baseline_account_circle_24"/>

    <androidx.appcompat.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_marginTop="20dp"
        android:background="#ffff00"
        app:navigationIcon="@drawable/ic_baseline_arrow_back_ios_24"
        app:logo="@drawable/ic_baseline_account_circle_24">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="主页"
            android:textSize="25sp"
            android:gravity="center"
            android:layout_gravity="center"/>
    </androidx.appcompat.widget.Toolbar>
</LinearLayout>

AlertDialog对话框

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
    }
    public void click(View view) {

        //根据R.layout.dialog_view布局文件生成一个view
        View dialogView = getLayoutInflater().inflate(R.layout.dialog_view,null);

        //构建器
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setIcon(R.mipmap.ic_launcher)
                .setTitle("我是对话框")
                .setMessage("今天天气怎样")
                .setView(dialogView)
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Log.e("MainActivity","点击确定");
            }
        }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Log.e("MainActivity","点击取消");
            }
        }).setNeutralButton("中间", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Log.e("MainActivity","点击中间");
            }
        }).create().show();
    }
}
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/red"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/ic_launcher"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="哈哈 天气和好!"/>
</LinearLayout>

PopupWindow弹框

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.PopupWindow;

public class MainActivity extends AppCompatActivity {

    private PopupWindow popupWindow;

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

    }
    public void click(View view) {

        //从布局文件中获取View
        View windowView = getLayoutInflater().inflate(R.layout.pop_window_view,null);
        Button button1 = windowView.findViewById(R.id.button1);
        Button button2 = windowView.findViewById(R.id.button2);

        //
        popupWindow = new PopupWindow(windowView, ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,true);
        popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.wd_ranklist_default));
        popupWindow.showAsDropDown(view,100,100);

        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.e("MainActivity","上海");
                popupWindow.dismiss();
            }
        });

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.e("MainActivity","上海");
                popupWindow.dismiss();
            }
        });
    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@mipmap/ic_launcher"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="上海"
        android:padding="5dp"
        android:textSize="18sp"
        android:id="@+id/button1"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="背景"
        android:padding="5dp"
        android:textSize="18sp"
        android:id="@+id/button2"/>
</LinearLayout>
image.png
上一篇 下一篇

猜你喜欢

热点阅读