日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android--初级

發(fā)布時間:2023/12/29 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android--初级 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Android--初級

  • 前言
  • 一、初識?
    • 1.目錄
    • 2.res
    • 3.Android程序簽名打包
    • 4.反編譯獲取文件(失敗)
  • 二、控件
    • 1.文本標(biāo)簽TextView與按鈕Button
    • 2.文本編輯框EditText
    • 2.進度條ProgressBar
    • 4.復(fù)選按鈕CheckBox
    • 5.單選組件RadioGroup與單選按鈕RadioButton
    • 6.圖像顯示ImageView與畫廊組件Gallery
    • 7.消息提示Toast
    • 8.列表組件 ListView和ListActivity
    • 9. 滑動抽屜組件SlidingDraw
  • 三.中級控件
    • 1.傳遞參數(shù)組件Intent
      • 1.Activity頁面切換
      • 2.應(yīng)用Intent在Activity頁面之間傳遞數(shù)據(jù)
    • 2. 菜單Menu
      • 1.選項菜單(Option Menu)
      • 2.上下文菜單(Context Menu)
    • 3. 對話框
      • 1.消息對話框AlertDialog
      • 2.進度條對話框ProgressDialog
      • 3. 日期選擇對話框和時間選擇對話框
    • 4.1 繪制幾何圖形
    • 5. 后臺服務(wù)與系統(tǒng)服務(wù)調(diào)用
      • 5.1后臺服務(wù)Service
      • 5.2信息廣播機制Broadcast
      • 5.3 系統(tǒng)服務(wù)
        • 5.3.1 Android的系統(tǒng)服務(wù)
        • 5.3.2 系統(tǒng)通知服務(wù)Notification
        • 5.3.3 系統(tǒng)定時服務(wù)AlarmManager
    • 6.1 Web視圖
        • 6.1.1 瀏覽器引擎WebKit
        • 6.1.2 Web視圖對象
        • 6.1.3 調(diào)用JavaScript
      • 6.2 基于TCP協(xié)議網(wǎng)絡(luò)程序設(shè)計
  • 四.案例
    • 1.hello
    • 2.密碼驗證程序
    • 3.Toast的四種方式
    • 4.ImageSwitch(失敗的,有參考價值)
    • 5.WebView(需要聯(lián)網(wǎng))
    • 6.MainActivity(模板)
    • 7.密碼驗證程序
    • 8.動畫伸縮,旋轉(zhuǎn),擴大
    • 9.長按條目激活上下文菜單
    • 10.菜單項
    • 9.fargment
    • 11.myViewpager
    • 12.myViewpager2
    • 13.長按條目激活上下文菜單
  • 總結(jié)


前言

因為熱愛,所以學(xué)習(xí)
官網(wǎng)
學(xué)習(xí)路線


一、初識?

1.目錄

2.res

res目錄用于存放項目所需要的聲音、圖片、用戶界面等資源文件。


在XML文件中表示顏色的方法有多種:
#RGB:用三位十六進制數(shù)分別表示紅、綠、藍顏色。
#ARGB:用四位十六進制數(shù)分別表示透明度、紅、綠、藍顏色。
#RRGGBB:用六位十六進制數(shù)分別表示紅、綠、藍顏色。
#AARRGGBB:用八位十六進制數(shù)分別表示透明度、紅、綠、藍顏色。

如何去使用:

ava代碼中使用:

Java 文字:

txtName.setText(getResources().getText(R.string.name));
圖片:

imgIcon.setBackgroundDrawableResource(R.drawable.icon);
顏色:

txtName.setTextColor(getResouces().getColor(R.color.red));
布局:

setContentView(R.layout.main);
控件:

txtName = (TextView)findViewById(R.id.txt_name);

3.Android程序簽名打包

打包教程

4.反編譯獲取文件(失敗)

看看相關(guān)

二、控件

Android系統(tǒng)的大多數(shù)用戶界面組件均放置在widget包中。

1.文本標(biāo)簽TextView與按鈕Button

文本標(biāo)簽TextView用于顯示文本內(nèi)容,是最常用的組件之一

按鈕Button在程序設(shè)計中最常用的方式是實現(xiàn)OnClickListener監(jiān)聽接口,當(dāng)單擊按鈕時,通過OnClickListener監(jiān)聽接口觸發(fā)onClick()事件,實現(xiàn)用戶需要的功能。
OnClickListener接口有一個onClick()方法,在按鈕Button實現(xiàn)OnClickListener接口時,一定要重寫這個方法。
按鈕Button調(diào)用OnClickListener接口對象的方法如下:
  按鈕對象. setOnClickListener(OnClickListener對象);

import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') import ssl ssl._create_default_https_context = ssl._create_unverified_context

2.文本編輯框EditText

文本編輯框EditText


定義框EditText元素的android:numeric屬性,其取值只能是下列常量(可由“|”連接多個常量):
integer 可以輸入數(shù)值.
signed 可以輸入帶符號的數(shù)值.
decimal 可以輸入帶小數(shù)點的數(shù)值.

2.進度條ProgressBar

進度條ProgressBar能以形象地圖示方式直觀顯示某個過程的進度。

package com.ex2_10; import android.app.Activity;。。。。 public class Ex03_10Activity extends Activity { ProgressBar progressBar; Button btn1,btn2;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);progressBar = (ProgressBar)findViewById(R.id.ProgressBar01);btn1=(Button)findViewById(R.id.button1);btn2=(Button)findViewById(R.id.button2);btn1.setOnClickListener(new click1());btn2.setOnClickListener(new click2()); } class click1 implements OnClickListener {public void onClick(View v) {progressBar.incrementProgressBy(5);}} class click2 implements OnClickListener {public void onClick(View v) {progressBar.incrementProgressBy(-5);}} }

4.復(fù)選按鈕CheckBox

復(fù)選按鈕CheckBox用于多項選擇的情形,用戶可以一次性選擇多個選項。復(fù)選按鈕CheckBox是按鈕Button的子類,其屬性與方法繼承于按鈕Button。

5.單選組件RadioGroup與單選按鈕RadioButton

單選組件RadioGroup用于多項選擇中只允許任選其中一項的情形。單選組件RadioGroup由一組單選按鈕RadioButton組成。

6.圖像顯示ImageView與畫廊組件Gallery

ImageView類用于顯示圖片或圖標(biāo)等圖像資源,并提供圖像縮放及著色(渲染)等圖像處理功能。

scaleType屬性值

7.消息提示Toast

Toast類的常用方法

8.列表組件 ListView和ListActivity

ListView類是Android程序開發(fā)中經(jīng)常用到組件,該組件時必須與適配器配合使用,由適配器提供顯示樣式和顯示數(shù)據(jù)。

9. 滑動抽屜組件SlidingDraw

ListView類是Android程序開發(fā)中經(jīng)常用到組件,該組件時必須與適配器配合使用,由適配器提供顯示樣式和顯示數(shù)據(jù)。
SlidingDraw類重要的XML屬性

SlidingDraw類的重要方法

三.中級控件

1.傳遞參數(shù)組件Intent

Intent是android系統(tǒng)一種運行時的綁定機制,在應(yīng)用程序運行時連接兩個不同組件。在android 的應(yīng)用程序中不管是頁面切換,還是傳遞數(shù)據(jù),或是調(diào)用外部程序,都可能要用到Intent。Intent負責(zé)對應(yīng)用中某次操作的動作、動作涉及數(shù)據(jù)、附加數(shù)據(jù)進行描述,Android則根據(jù)此Intent的描述,負責(zé)找到對應(yīng)的組件,將 Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。

1.Activity頁面切換

Activity跳轉(zhuǎn)與傳遞參數(shù)值主要通過Intent類協(xié)助實現(xiàn)。在一個Activity頁面中啟動另一個Activity頁面的運行,是最簡單的Activity頁面切換方式。其步驟如下:
(1)首先創(chuàng)建一個Intent對象,其構(gòu)造方法為:
  Intent intent = new Intent(當(dāng)前Activity.this, 另一Activity.class);
(2)然后調(diào)用Activity的startActivity(intent)方法,切換到另一個Activity頁面。

2.應(yīng)用Intent在Activity頁面之間傳遞數(shù)據(jù)

1、Bundle類
Bundle類是一個用于將字符串與某組件對象建立映射關(guān)系的組件。Bundle組件與Intent配合使用,可在不同的Activity之間傳遞數(shù)據(jù)。Bundle類的常用方法如下:
putString(String key, String value): 把字符串用“鍵-值”形式存放到Bundle對象中;
remove(String key):移除指定key的值;
getString(String key):獲取指定key的字符。

(1)在頁面Activity A端
創(chuàng)建Intent對象和Bundle對象
Intent intent = new Intent();
Bundle bundle = new Bundle();
為Intent指定切換頁面,用Bundle 存放"鍵-值"對數(shù)據(jù)
intent.setClass(MainActivity.this, secondActivity.class);
bundle.putString(“text”, txt.getText().toString());
將Bundle對象傳遞給Intent
intent.putExtras(bundle);

(2)在另一頁面Activity B端
從Intent中獲取Bundle對象
bunde = this.getIntent().getExtras();

從Bundle對象中按"鍵-值"對的鍵名獲取對應(yīng)數(shù)據(jù)值
String str = bunde.getString(“text”);

2. 菜單Menu

一個菜單(Menu)由多個菜單選項組成,選擇一個菜單項就可以引發(fā)一個動作事件。
在Android系統(tǒng)中,菜單可以分為三類:選項菜單(Option Menu),上下文菜單(Context Menu)以及子菜單(Sub Menu)。

1.選項菜單(Option Menu)

選項菜單需要通過按下設(shè)備的Menu鍵來顯示。當(dāng)按下設(shè)備上的Menu鍵后,在屏幕底部彈出一個菜單,這個菜單稱作選項菜單(OptionsMenu)。
Activity實現(xiàn)選項菜單的回調(diào)方法

2.菜單Menu
設(shè)計選項菜單需要用到Menu、MenuItem接口。一個Menu對象代表一個菜單,Menu對象中可以添加菜單項MenuItem對象,也可以添加子菜單SubMenu。
菜單Menu使用add(int groupId, int itemId, int order, CharSequence title) 方法添加一個菜單項。
add()方法中的四個參數(shù),依次是:
(1)組別;
(2)Id,這個很重要,Android根據(jù)這個Id來確定不同的菜單;
(3)順序,哪個菜單項在前面由這個參數(shù)的大小決定;
(4)文本,菜單項的顯示文本。

3.創(chuàng)建選項菜單的步驟
創(chuàng)建選項菜單的步驟如下:
(1)重寫Activity的onCreateOptionMenu(Menu menu)方法,當(dāng)菜單第一次被打開時調(diào)用;
(2)調(diào)用Menu的add( )方法添加菜單項(MenuItem);
(3),重寫Activity的onOptionsItemSelected(MenuItem item)方法,當(dāng)菜單項(MenuItem)被選擇時來響應(yīng)事件。

2.上下文菜單(Context Menu)

Android系統(tǒng) 的上下文菜單類似于 PC 上的右鍵菜單。當(dāng)為一個視圖注冊了上下文菜單之后,長按(2 秒左右)這個視圖對象就會彈出一個浮動菜單,即上下文菜單。

創(chuàng)建一個上下文菜單的步驟如下:

  • 重寫Activity 的 onCreateContenxtMenu() 方法,調(diào)用 Menu 的 add 方法添加菜單項(MenuItem)。
  • 重寫 Activity 的 onContextItemSelected() 方法,響應(yīng)上下文菜單菜單項的單擊事件。
  • 調(diào)用Activity 的 registerForContextMenu() 方法,為視圖注冊上下文菜單。
  • 3. 對話框

    對話框是一個有邊框、有標(biāo)題欄的獨立存在的容器,在應(yīng)用程序中經(jīng)常使用對話框組件來進行人機交互。Android系統(tǒng)提供了四種常用對話框:
    AlertDialog:消息對話框;
    ProgressDialog:進度條對話框;
    DatePickerDialog:日期選擇對話框;
    TimePickerDialog:時間選擇對話框。

    1.消息對話框AlertDialog


    設(shè)計AlertDialog對話框的步驟如下:
    (1)用AlertDialog.Builder類創(chuàng)建對話框Builder對象
    Builder dialog=new AlertDialog.Builder(Context);
    (2)設(shè)置對話框的標(biāo)題、圖標(biāo)、提示信息內(nèi)容、按鈕等
    dialog.setTitle(“普通對話框”);
    dialog.setIcon(R.drawable.icon1);
    dialog.setMessage(“一個簡單的提示對話框”) ;
    dialog.setPositiveButton(“確定”, new okClick()) ;
    3)創(chuàng)建并顯示AlertDialog對話框?qū)ο?br /> dialog.create();
    dialog.show();
    如果在對話框內(nèi)部設(shè)置了按鈕,還需要對其設(shè)置事件監(jiān)聽OnClickListener。

    2.進度條對話框ProgressDialog

    3. 日期選擇對話框和時間選擇對話框

    4.1 繪制幾何圖形

    1、畫布Canvas


    2、畫筆Paint
    畫筆Paint用來描述所繪制圖形的顏色、和風(fēng)格,如線條寬度、顏色等信息。

    3、點到點的連線路徑Path
    當(dāng)繪制由一些線段組成的圖形(如:三角形、四邊形等),需要用Path類來描述線段路徑。

    5. 后臺服務(wù)與系統(tǒng)服務(wù)調(diào)用

    5.1后臺服務(wù)Service

    Android系統(tǒng)的Service是一種類似于Activity的組件,但Service沒有用戶操作界面,也不能自己啟動,其主要作用是提供后臺服務(wù)調(diào)用。Service不像Activity那樣,當(dāng)用戶關(guān)閉應(yīng)用界面就停止運行,Service會一直在后臺運行,除非另有明確命令其停止。
    通常使用Service為應(yīng)用程序提供一些只需在后臺運行的服務(wù),或不需要界面的功能,例如,從Internet下載文件、控制Video播放器等。
    Service的生命周期中只有三個階段:onCreate, onStartCommand, onDestroy。


    通常Service要在一個Activity中啟動,調(diào)用Activity的startService(Intent)方法啟動Service。
    若要停止正在運行的Service,則調(diào)用Activity的stopService(Intent)方法關(guān)閉Service。
    方法startService()和stopService()均繼承于Activity及Service共同的父類android.content.Context。

    一個服務(wù)只能創(chuàng)建一次,銷毀一次,但可以開始多次,即onCreate()和onDestroy()方法只會被調(diào)用一次,而onStartCommand()方法可以被調(diào)用多次。后臺服務(wù)的具體操作一般應(yīng)該放在onStartCommand()方法里面。如果Service已經(jīng)啟動,當(dāng)再次啟動Service時則不調(diào)用onCreate()而直接調(diào)用onStartCommand()。

    設(shè)計一個后臺服務(wù)的應(yīng)用程序步驟:
    (1)創(chuàng)建Service的子類:
    編寫onCreate()方法,創(chuàng)建后臺服務(wù);
    編寫onStartCommand()方法,啟動后臺服務(wù);
    編寫onDestroy()方法,終止后臺服務(wù),并刪除所有調(diào)用。
    (2)創(chuàng)建啟動和控制Service的Activity:
    創(chuàng)建Intent對象,建立Activity與Service的關(guān)聯(lián);
    調(diào)用Activity的startService(Intent)方法啟動Service后臺服務(wù);
    調(diào)用Activity的stopService(Intent)方法關(guān)閉Service后臺服務(wù)。
    (3)修改配置文件AndroidManifest.xml:
    在配置文件AndroidManifest.xml的標(biāo)簽中添加如下代碼:

    5.2信息廣播機制Broadcast

    Broadcast是Android系統(tǒng)應(yīng)用程序之間傳遞信息的一種機制。當(dāng)系統(tǒng)之間需要傳遞某些信息時,不是通過諸如單擊按鈕之類組件來觸發(fā)事件,而是由系統(tǒng)自身通過系統(tǒng)調(diào)用來引發(fā)事件。這種系統(tǒng)調(diào)用是由BroadcastReceiver類的實現(xiàn)的,把這種系統(tǒng)調(diào)用稱為廣播。
    BroadcastReceiver也就是“廣播接收者”的意思,顧名思義,它就是用來接收來自系統(tǒng)和應(yīng)用中的廣播信息。

    實現(xiàn)廣播和接收機制的步驟:
    (1)創(chuàng)建Intent對象,設(shè)置Intent對象的action屬性。這個action屬性是接收廣播數(shù)據(jù)的標(biāo)識。注冊了相同action屬性的廣播接收器才能收到發(fā)送的廣播數(shù)據(jù)。
    Intent intent = new Intent();
      intent.setAction(“abc”);
    (2)編寫需要廣播的信息內(nèi)容,將需要播發(fā)的信息封裝到Intent中,通過Activity或Service繼承其父類Context的sendBroadcast()方法將Intent廣播出去。intent.putExtra(“hello”, “這是廣播信息!”);
    sendBroadcast(intent);
    (3)編寫一個繼承BroadcastReceiver的子類作為廣播接收器,該對象是接收廣播信息并對信息進行處理的組件。在子類中要重寫接收廣播信息的onReceive()方法。
    class TestReceiver extends BroadcastReceiver
    {
    public void onReceive(Context context, Intent intent)
    {
    /* 接收廣播信息并對信息作出響應(yīng)的代碼 */
    }
    }
    (4)在配置文件AndroidManifest.xml中注冊廣播接收類。





    (5)銷毀廣播接收器。
    Android系統(tǒng)在執(zhí)行onReceive()方法時,會啟動一個程序計時器,在一定時間內(nèi),廣播接收器的實例會被銷毀。因此,廣播機制不適合傳遞大數(shù)據(jù)量的信息。

    為了識別Intent對象的action,有時在IntentFilter對象中設(shè)置Intent對象的action,而注冊廣播接收器的工作由registerReceiver()方法完成。
    registerReceiver(mBroadcast, filter)方法有兩個參數(shù),其中參數(shù)mBroadcast是廣播接收器BroadcastReceiver對象,filter是IntentFilter對象。

    5.3 系統(tǒng)服務(wù)

    5.3.1 Android的系統(tǒng)服務(wù)

    5.3.2 系統(tǒng)通知服務(wù)Notification

    Notification是Android系統(tǒng)的一種通知服務(wù),當(dāng)手機來電、來短信、鬧鐘鈴聲時,在狀態(tài)欄顯示通知的圖標(biāo)和文字,提示用戶處理。當(dāng)拖動狀態(tài)欄時,可以查看這些信息。
    Notification提供了聲音、振動等屬性

    系統(tǒng)通知服務(wù)Notification由系統(tǒng)通知管理對象NotificationManager進行管理及發(fā)布通知。由getSystemService(NOTIFICATION_SERVICE)創(chuàng)建NotificationManager對象,
     NotificationManager n_Manager =
    NotificationManager)getSystemService(NOTIFICATION_SERVICE);
    NotificationManager對象通過notify(int id, Notification notification) 方法把通知發(fā)送到狀態(tài)欄。通過cancelAll() 方法取消以前顯示的所有通知。

    5.3.3 系統(tǒng)定時服務(wù)AlarmManager



    6.1 Web視圖

    6.1.1 瀏覽器引擎WebKit

    WebKit是一個開源的瀏覽器引擎。Webkit內(nèi)核具有非常好的網(wǎng)頁解析機制,很多應(yīng)用系統(tǒng)都使用WebKit作瀏覽器的內(nèi)核。
    Android對 Webkit作了進一步的封裝,并提供了豐富的API。Android平臺的WebKit模塊由Java層和WebKit庫兩個部分組成,Java層負責(zé)與Android應(yīng)用程序進行通信,而WebKit類庫負責(zé)實際的網(wǎng)頁排版處理。
    WebKit包中的幾個重要類

    6.1.2 Web視圖對象

    1、WebView類
    WebView類是WebKit模塊Java層的視圖類,所有需要使用Web瀏覽功能的Android應(yīng)用程序都要創(chuàng)建該視圖對象,用于顯示和處理請求的網(wǎng)絡(luò)資源。
    WebKit模塊支持HTTP、HTTPS、FTP以及javascript請求。WebView作為應(yīng)用程序的UI接口,為用戶提供了一系列的網(wǎng)頁瀏覽、用戶交互接口,客戶程序通過這些接口訪問WebKit核心代碼。
    WebView類的常用方法

    2、使用WebView的說明
    1)設(shè)置WebView基本信息:
    如果訪問的頁面中有Javascript,則webview必須設(shè)置支持Javascript。
    webview.getSettings().setJavaScriptEnabled(true);
    觸摸焦點起作用
    requestFocus();
    取消滾動條
    this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);

    (2)設(shè)置WevView要顯示的網(wǎng)頁:
    互聯(lián)網(wǎng)用:webView.loadUrl(“http://www.google.com”);
    本地文件用:webView.loadUrl(“file:///android_asset/XX.html”); 本地文件要存放在項目的assets目錄中

    3)用webview點擊鏈接看了很多頁面以后,如果不做任何處理,點擊系統(tǒng)“Back”鍵,瀏覽器會調(diào)用finish()而結(jié)束自身的運行;如果希望瀏覽的網(wǎng)頁回退而不是退出瀏覽器,需要在當(dāng)前Activity中覆蓋Activity類的onKeyDown(int keyCoder,KeyEvent event)方法處理該Back事件。

    6.1.3 調(diào)用JavaScript

    (1) WebSteeings類

    (2)WebViewClient類
    WebViewClient 類用于對WebView對象中各種事件的處理,通過重寫這些提供的事件方法,可以對WebView對象在頁面載入、資源載入、頁面訪問錯誤等情況發(fā)生時進行各種操作。

    (3)WebChromeClient類
     WebChromeClient是輔助WebView處理JavaScript對話框、網(wǎng)站的標(biāo)題、網(wǎng)站的圖標(biāo)、加載進度條等操作的類。

    6.2 基于TCP協(xié)議網(wǎng)絡(luò)程序設(shè)計

    對話框是一個有邊框、有標(biāo)題欄的獨立存在的容器,在應(yīng)用程序中經(jīng)常使用對話框組件來進行人機交互。Android系統(tǒng)提供了四種常用對話框:
    AlertDialog:消息對話框;
    ProgressDialog:進度條對話框;
    DatePickerDialog:日期選擇對話框;
    TimePickerDialog:時間選擇對話框。

    四.案例


    1.hello

    代碼如下(示例):

    xml文件

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!" /></LinearLayout>)

    Java文件

    package com.example.phone;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);} }

    2.密碼驗證程序

    Java文件

    class mClick implements OnClickListener {public void onClick(View v){String passwd;passwd=edit.getText().toString(); if(passwd.equals("abc123")) txt2.setText("歡迎進入快樂大本營!"); elsetxt2.setText("非法用戶,請立刻離開!"); }}}

    3.Toast的四種方式

    Java文件

    package com.example.phones; //?大大大的問題。 //四種哦!!! import androidx.appcompat.app.AppCompatActivity;import android.content.Intent; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Switch; import android.widget.TextView; import android.widget.Toast;public class ToastActivity extends AppCompatActivity {private Button btn1,btn2,btn3,btn4;private LinearLayout toastView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_toast);btn1=findViewById(R.id.btn_1);btn2=findViewById(R.id.btn_2);btn3=findViewById(R.id.btn_3);btn4=findViewById(R.id.btn_4);Myclick click=new Myclick();btn1.setOnClickListener(click);btn2.setOnClickListener(click);btn3.setOnClickListener(click);btn4.setOnClickListener(click);}private class Myclick implements View.OnClickListener{@Overridepublic void onClick(View v) {//switch這個要記好!!getApplicationContext(),是content的!!switch(v.getId()){case R.id.btn_1:Toast.makeText(ToastActivity.this, "普通的Toast!!", Toast.LENGTH_SHORT).show();break;case R.id.btn_2:Toast toast=Toast.makeText(getApplicationContext(),"中間的toast!!",Toast.LENGTH_LONG);// toast.setText("中間的toast!!"); // toast.setDuration(Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER,0,0);toast.show();break;case R.id.btn_3://toast的makeText方法!!!Toast toast1=Toast.makeText(ToastActivity.this,"自定義的toast!!",Toast.LENGTH_LONG);toast1.setGravity(Gravity.CENTER,0,80);toastView= (LinearLayout) toast1.getView();// 獲取一個頁面 // View view= LayoutInflater.from(ToastActivity.this).inflate(R.layout.zidingyitoast,null);ImageView imageView=new ImageView(ToastActivity.this); // TextView textView=findViewById(R.id.tv_1);imageView.setImageResource(R.drawable.ic_launcher_foreground); // textView.setText("java的toast");toastView.addView(imageView,0);toast1.show();break;case R.id.btn_4://自己寫一個toast,可以復(fù)用!!Utiltoast.showmsg(getApplicationContext(),"奇跡哦");break;}}} } //Utiltoast,自寫的toast package com.example.phones;import android.content.Context; import android.view.Gravity; import android.widget.Toast;public class Utiltoast {public static Toast mtoast;public static void showmsg(Context context,String msg){if (mtoast==null){mtoast=Toast.makeText(context,msg,Toast.LENGTH_LONG);mtoast.setGravity(Gravity.CENTER,0,0);}else {mtoast.setText(msg);}mtoast.show();} }

    4.ImageSwitch(失敗的,有參考價值)

    Java文件

    package com.example.phones;import androidx.appcompat.app.AppCompatActivity;import android.database.DataSetObserver; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.view.ViewGroup; import android.view.animation.AnimationUtils; import android.widget.AdapterView; import android.widget.Button; import android.widget.Gallery; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.SpinnerAdapter; import android.widget.ViewSwitcher;public class Imageswith extends AppCompatActivity {ImageView imageView;Button button_last,button_next;Gallery gallery;ImageSwitcher imageSwitcher;private int[] Imgs={R.drawable.ic_launcher_background,R.drawable.ic_launcher_foreground,R.mipmap.haokan,R.mipmap.haokan2,R.mipmap.haokan3,};int index=1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_imageswith);imageView=findViewById(R.id.image);button_last = findViewById(R.id.btn_last);button_next = findViewById(R.id.btn_next);gallery = findViewById(R.id.gallery1);imageSwitcher = findViewById(R.id.imageswitcher);button_next.setOnClickListener( new click());button_last.setOnClickListener( new click());imageSwitcher.setFactory(new viewFactory());imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));imageSwitcher.setImageResource(R.mipmap.haokan);gallery.setOnItemSelectedListener( new OnitemSelectedListener());gallery.setSpacing(10);gallery.setAdapter(new baseAdapter());}private class click implements View.OnClickListener {@Overridepublic void onClick(View v) {if (v == button_last) {if (index > 0 && index < Imgs.length) {index--;imageView.setImageResource(Imgs[index]);}}if (v == button_next) {if (index >=0 && index < Imgs.length-1) {index++;imageView.setImageResource(Imgs[index]);}}}}private class viewFactory implements ViewSwitcher.ViewFactory {@Overridepublic View makeView() {ImageView imageView;imageView = new ImageView(Imageswith.this);imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);return imageView;}}private class OnitemSelectedListener implements AdapterView.OnItemSelectedListener {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {imageSwitcher.setImageResource((int) gallery.getItemAtPosition(position));}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}}private class baseAdapter implements SpinnerAdapter {@Overridepublic void registerDataSetObserver(DataSetObserver observer) {}@Overridepublic void unregisterDataSetObserver(DataSetObserver observer) {}@Overridepublic int getCount() {return Imgs.length;}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return Imgs[position];}@Overridepublic boolean hasStableIds() {return false;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView;imageView = new ImageView(Imageswith.this);imageView.setImageResource(Imgs[position]);imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);imageView.setLayoutParams(new Gallery.LayoutParams(60,60));return imageView;}@Overridepublic int getItemViewType(int position) {return 0;}@Overridepublic int getViewTypeCount() {return 0;}@Overridepublic boolean isEmpty() {return false;}@Overridepublic View getDropDownView(int position, View convertView, ViewGroup parent) {return null;}} }

    XML文件

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".Imageswith"><LinearLayoutandroid:gravity="center"android:layout_width="match_parent"android:layout_height="wrap_content"><ImageViewandroid:id="@+id/image"android:layout_width="100dp"android:layout_height="100dp"android:src="@drawable/ic_launcher_background"app:srcCompat="@mipmap/haokan" /></LinearLayout><LinearLayoutandroid:gravity="center"android:layout_width="match_parent"android:orientation="vertical"android:layout_height="wrap_content"><Galleryandroid:id="@+id/gallery1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:spacing="10dp"/><ImageSwitcherandroid:id="@+id/imageswitcher"android:layout_width="wrap_content"android:layout_height="240dp"/></LinearLayout><LinearLayoutandroid:gravity="center"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="50dp"android:orientation="horizontal"><Buttonandroid:id="@+id/btn_last"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginRight="30dp"android:text="上一頁"/><Buttonandroid:id="@+id/btn_next"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="下一頁" /></LinearLayout> </LinearLayout>

    5.WebView(需要聯(lián)網(wǎng))

    Java文件

    package com.example.phones; //Webview的訪問 import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity;import android.graphics.Bitmap; import android.os.Build; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.webkit.WebChromeClient; import android.webkit.WebResourceRequest; import android.webkit.WebView; import android.webkit.WebViewClient;public class WebViewActivity extends AppCompatActivity {private WebView wv;@RequiresApi(api = Build.VERSION_CODES.O)@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_web_view);wv=findViewById(R.id.mv);wv.getSettings().setJavaScriptEnabled(true);wv.loadUrl("https://passport2.chaoxing.com"); // wv.addJavascriptInterface();//1.第一種加載方式assets文件下的html//wv.loadUrl("file:///android_asset/text.html");//2.第二種加載方式網(wǎng)頁,訪問網(wǎng)絡(luò)資源//wv.loadDataWithBaseURL();//wv.getSettings().setJavaScriptEnabled(true);//直接在頁面加載,可以很爽。//wv.setWebViewClient(new myWebView());//wv.setWebChromeClient(new myChrome());//wv.loadUrl("https://www.runoob.com");//wv.loadDataWithBaseURL();}class myWebView extends WebViewClient{//在本頁面加載頁面!!@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)@Overridepublic boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {view.loadUrl(request.getUrl().toString());return true;}//顯示在logcat@RequiresApi(api = Build.VERSION_CODES.KITKAT)@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);Log.d("WebView","onPageStarted...");wv.evaluateJavascript("javascript:alert('確定?')",null);}@RequiresApi(api = Build.VERSION_CODES.KITKAT)@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);Log.d("WebView","onPageFinished....");//wv.loadUrl("javascript:alert('確定?')");}}//可以返回上一個頁面@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode==KeyEvent.KEYCODE_BACK&&wv.canGoBack()){wv.goBack();return true;}return super.onKeyDown(keyCode, event);}private class myChrome extends WebChromeClient {//進度條????@Overridepublic void onProgressChanged(WebView view, int newProgress) {super.onProgressChanged(view, newProgress);}//標(biāo)題隨之改變@Overridepublic void onReceivedTitle(WebView view, String title) {super.onReceivedTitle(view, title);setTitle(title);}} }

    XML文件

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><WebViewandroid:id="@+id/mv"android:layout_width="match_parent"android:layout_height="match_parent"/></LinearLayout>

    6.MainActivity(模板)

    Java文件

    package com.example.phones;import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity implements View.OnClickListener {private Button btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btn10, btn11, btn12, btn13, btn14, btn15, btn16, btn17;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setTitle("RadioGroup_Activity");btn1 = findViewById(R.id.button1);btn2 = findViewById(R.id.button2);btn3 = findViewById(R.id.button3);btn4 = findViewById(R.id.button4);btn5 = findViewById(R.id.button5);btn6 = findViewById(R.id.button6);btn7 = findViewById(R.id.button7);btn8 = findViewById(R.id.button8);btn9 = findViewById(R.id.button9);btn10 = findViewById(R.id.button10);btn11 = findViewById(R.id.button11);btn12 = findViewById(R.id.button12);btn13 = findViewById(R.id.button13);btn14 = findViewById(R.id.button14);btn15 = findViewById(R.id.button15);btn16 = findViewById(R.id.button16);btn17 = findViewById(R.id.button17);btn1.setOnClickListener(this);btn2.setOnClickListener(this);btn3.setOnClickListener(this);btn4.setOnClickListener(this);btn5.setOnClickListener(this);//setclik(); // btn.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { // // } // });}@Overridepublic void onClick(View v) {Intent intent = null;switch (v.getId()) {case R.id.button1:intent = new Intent(MainActivity.this, AlphaActivity.class);Toast.makeText(MainActivity.this, "歡迎圖形", Toast.LENGTH_SHORT).show();break;case R.id.button2:intent = new Intent(MainActivity.this, WebViewActivity.class);Toast.makeText(MainActivity.this, "歡迎webView", Toast.LENGTH_SHORT).show();break;case R.id.button3:intent = new Intent(MainActivity.this, ToastActivity.class);Toast.makeText(MainActivity.this, "歡迎toast", Toast.LENGTH_SHORT).show();break; // case R.id.button4: // intent=new Intent(MainActivity.this, FragmentActivity.class); // Toast.makeText(MainActivity.this, "歡迎Fragment", Toast.LENGTH_SHORT).show(); break;case R.id.button5:intent = new Intent(MainActivity.this, Imageswith.class);Toast.makeText(MainActivity.this, "歡迎Imageswith", Toast.LENGTH_SHORT).show();break;}startActivity(intent);}// private void setclik() { // myclick clicl=new myclick(); // btn1.setOnClickListener(clicl); // btn2.setOnClickListener(clicl); // btn3.setOnClickListener(clicl); // btn4.setOnClickListener(clicl); // } // // public class myclick implements View.OnClickListener{ // Intent intent=null; // @Override // public void onClick(View v) { // switch (v.getId()){ // case R.id.button1: // intent=new Intent(MainActivity.this,AlphaActivity.class); // Toast.makeText(MainActivity.this, "歡迎圖形", Toast.LENGTH_SHORT).show(); // break; // case R.id.button2: // intent=new Intent(MainActivity.this,WebViewActivity.class); // Toast.makeText(MainActivity.this, "歡迎webView", Toast.LENGTH_SHORT).show(); // break; // case R.id.button3: // intent=new Intent(MainActivity.this,ToastActivity.class); // Toast.makeText(MainActivity.this, "歡迎toast", Toast.LENGTH_SHORT).show(); // break; // case R.id.button4: // intent=new Intent(MainActivity.this, FragmentActivity.class); // Toast.makeText(MainActivity.this, "歡迎Fragment", Toast.LENGTH_SHORT).show(); // break; // } // startActivity(intent); // } // } }

    XML文件

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:id="@+id/button1"android:layout_width="match_parent"android:layout_height="37dp"android:text="屬性動畫演示" /><Buttonandroid:id="@+id/button2"android:layout_width="match_parent"android:layout_height="38dp"android:text="webView" /><Buttonandroid:id="@+id/button3"android:layout_width="match_parent"android:layout_height="36dp"android:text="Toast" /><Buttonandroid:id="@+id/button4"android:layout_width="match_parent"android:layout_height="34dp"android:text="Fragment" /><Buttonandroid:id="@+id/button5"android:layout_width="match_parent"android:layout_height="38dp"android:text="Imageswith" /><Buttonandroid:id="@+id/button6"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button7"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button8"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button9"android:layout_width="match_parent"android:layout_height="35dp"android:text="Button" /><Buttonandroid:id="@+id/button10"android:layout_width="match_parent"android:layout_height="36dp"android:text="Button" /><Buttonandroid:id="@+id/button11"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button12"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button13"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button14"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button15"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button16"android:layout_width="match_parent"android:layout_height="43dp"android:text="Button" /><Buttonandroid:id="@+id/button17"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /><Buttonandroid:id="@+id/button18"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /> </LinearLayout>

    7.密碼驗證程序

    Java文件

    class mClick implements OnClickListener {public void onClick(View v){String passwd;passwd=edit.getText().toString(); if(passwd.equals("abc123")) txt2.setText("歡迎進入快樂大本營!"); elsetxt2.setText("非法用戶,請立刻離開!"); }}}

    8.動畫伸縮,旋轉(zhuǎn),擴大

    Java文件

    package com.example.phones;import androidx.appcompat.app.AppCompatActivity;import android.animation.ObjectAnimator; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView;public class AlphaActivity extends AppCompatActivity {Button rotateButton,alphaButton,scaleButton;ImageView img;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_alpha);img = (ImageView)findViewById(R.id.imageView);rotateButton = (Button)findViewById(R.id.button1);alphaButton = (Button)findViewById(R.id.button2);scaleButton = (Button)findViewById(R.id.button3);rotateButton.setOnClickListener(new mClick());alphaButton.setOnClickListener(new mClick());scaleButton.setOnClickListener(new mClick());}public class mClick implements View.OnClickListener{@Overridepublic void onClick(View v) {if(v == rotateButton) {ObjectAnimator animator = ObjectAnimator.ofFloat(img, "rotation", 0.0F, 360.0F);animator.setDuration(1000);animator.start();}else if(v == alphaButton){ObjectAnimator animator = ObjectAnimator.ofFloat(img, "alpha",1.0F, 0.0F, 1.0F);animator.setDuration(3000);animator.start();}else if(v == scaleButton){ObjectAnimator animator = ObjectAnimator.ofFloat(img, "ScaleY", 1.0F, 0.5F, 1.0F);animator.setDuration(5000);animator.start();}}} }

    XML文件

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="屬性動畫演示"android:id="@+id/textView"android:textSize="28sp"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_gravity="center_horizontal" /><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentEnd="true"android:layout_gravity="center_horizontal"android:layout_alignParentRight="true"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="旋轉(zhuǎn)"android:id="@+id/button1"android:layout_gravity="bottom"android:textSize="18sp"android:layout_below="@+id/textView"android:layout_alignParentStart="true"android:layout_alignParentLeft="true" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="淡入淡出"android:id="@+id/button2"android:layout_gravity="bottom"android:textSize="18sp"android:layout_below="@+id/button1"android:layout_alignParentLeft="true" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="縮放"android:id="@+id/button3"android:layout_gravity="bottom"android:textSize="18sp"android:layout_below="@+id/button2"android:layout_alignParentLeft="true" /></LinearLayout><ImageViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:id="@+id/imageView"android:layout_centerVertical="true"android:layout_centerHorizontal="true"android:scaleType="centerCrop"android:layout_gravity="center_horizontal"android:src="@drawable/ic_launcher_foreground" /></LinearLayout></RelativeLayout>

    9.長按條目激活上下文菜單

    Java文件

    package com.example.myapplication2;import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {TextView txt1, txt2, txt3;private static final int item1 = Menu.FIRST;private static final int item2 = Menu.FIRST+1;private static final int item3 = Menu.FIRST+2;String str[] = {" 令狐沖", "楊 過", "蕭 峰 " };@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);txt1=(TextView)findViewById(R.id.textView1);txt2=(TextView)findViewById(R.id.textView2);txt3=(TextView)findViewById(R.id.textView3);txt1.setText(str[0].toString());txt2.setText(str[1].toString());txt3.setText(str[2].toString());registerForContextMenu(txt1);registerForContextMenu(txt2);registerForContextMenu(txt3);}//上下文菜單,本例會通過長按條目激活上下文菜單@Overridepublic void onCreateContextMenu(ContextMenu menu, View view,ContextMenuInfo menuInfo) {menu.setHeaderTitle("人物簡介");//添加菜單項menu.add(0, item1, 0, "武功");menu.add(0, item2, 0, "戰(zhàn)斗力");menu.add(0, item3, 0, "經(jīng)典語錄");}//菜單單擊響應(yīng)@Overridepublic boolean onContextItemSelected(MenuItem item){//獲取當(dāng)前被選擇的菜單項的信息switch(item.getItemId()){case item1://在這里添加處理代碼break;case item2://在這里添加處理代碼break;case item3://在這里添加處理代碼break;}return true;} } <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="30dp"android:text="Hello World!"android:layout_margin="5dp"/><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="30dp"android:text="我愛"android:layout_margin="5dp"/><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="30dp"android:text="Android"android:layout_margin="5dp"/></LinearLayout>

    10.菜單項

    Java文件

    package com.example.myapplication;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {TextView txt;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);txt = (TextView)findViewById(R.id.TextView1);}@Overridepublic boolean onCreateOptionsMenu(Menu menu){// 調(diào)用父類方法來加入系統(tǒng)菜單super.onCreateOptionsMenu(menu);// 添加菜單項menu.add(1, //組號1, //唯一的ID號1, //排序號"菜單項1"); //標(biāo)題menu.add( 1, 2, 2, "菜單項2");menu.add( 1, 3, 3, "菜單項3");menu.add( 1, 4, 4, "菜單項4");return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item){String title = "選擇了" + item.getTitle().toString();switch (item.getItemId()){ //響應(yīng)每個菜單項(通過菜單項的ID)case 1:txt.setText(title);break;case 2:txt.setText(title);break;case 3:txt.setText(title);break;case 4:txt.setText(title);break;default://對沒有處理的事件,交給父類來處理return super.onOptionsItemSelected(item);}return true;} }

    XML文件

    class mClick implements OnClickListener {public void onClick(View v){String passwd;passwd=edit.getText().toString(); if(passwd.equals("abc123")) txt2.setText("歡迎進入快樂大本營!"); elsetxt2.setText("非法用戶,請立刻離開!"); }}}

    9.fargment

    MainActivity文件

    package com.example.myfragment;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);} }

    BlankFragment文件

    package com.example.myfragment;import android.content.Context; import android.net.Uri; import android.os.Bundle;import androidx.fragment.app.Fragment;import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView;public class BlankFragment extends Fragment {private TextView tv1;private Button btn;private View view;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragmentif (view==null){view = inflater.inflate(R.layout.fragment_blank, container, false);}tv1=view.findViewById(R.id.tv_2);btn=view.findViewById(R.id.btn);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {tv1.setText("I am fine");}});return view;}}

    BlankFragment1文件

    package com.example.myfragment;import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView;import androidx.fragment.app.Fragment;public class BlankFragment1 extends Fragment {private TextView tv1;private Button btn;private View view;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragmentif (view==null){view = inflater.inflate(R.layout.fragment_blank, container, false);}tv1=view.findViewById(R.id.tv_2);btn=view.findViewById(R.id.btn);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {tv1.setText("I am fine");}});return view;}}

    activity_mainXML文件

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><fragment android:name="com.example.myfragment.BlankFragment"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:id="@+id/fg_1"/><fragment android:name="com.example.myfragment.BlankFragment1"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:id="@+id/fg_2"/> </LinearLayout>

    fragment_blankXML文件

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><!-- TODO: Update blank fragment layout --><Buttonandroid:id="@+id/btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="交流吧!!"/><TextViewandroid:id="@+id/tv_2"android:layout_marginBottom="30dp"android:layout_width="match_parent"android:layout_height="40dp"android:text="How are you?"android:textSize="30dp"/></LinearLayout>

    11.myViewpager

    Java文件

    package com.example.myviewpager;import androidx.appcompat.app.AppCompatActivity; import androidx.viewpager.widget.ViewPager;import android.os.Bundle; import android.text.Layout; import android.view.LayoutInflater; import android.view.View;import java.util.ArrayList; import java.util.List;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);LayoutInflater If=getLayoutInflater().from(this);View view1=If.inflate(R.layout.layout,null);View view2=If.inflate(R.layout.layout1,null);View view3=If.inflate(R.layout.layout2,null);List<View> listview=new ArrayList<>();listview.add(view1);listview.add(view2);listview.add(view3);ViewPager viewPager=findViewById(R.id.vp);viewPager.setAdapter(new MyAdapter(listview));} }

    Java文件

    package com.example.myviewpager;import android.view.View; import android.view.ViewGroup;import androidx.annotation.NonNull; import androidx.viewpager.widget.PagerAdapter;import java.util.List;public class MyAdapter extends PagerAdapter {private List<View> mlistview;public MyAdapter(List<View> listview){this.mlistview=listview;}@Overridepublic int getCount() {return mlistview.size();}@Overridepublic boolean isViewFromObject(@NonNull View view, @NonNull Object object) {return view==object;}@NonNull@Overridepublic Object instantiateItem(@NonNull ViewGroup container, int position) {container.addView(mlistview.get(position),0);return mlistview.get(position);}@Overridepublic void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {container.removeView(mlistview.get(position));} }

    XML文件

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><androidx.viewpager.widget.ViewPagerandroid:id="@+id/vp"android:layout_width="match_parent"android:layout_height="match_parent"/></LinearLayout>

    XML文件

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:background="@color/colorAccent"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/tv_1"android:layout_width="match_parent"android:layout_height="100dp"android:text="畫面1"android:gravity="center"android:textSize="50dp"/></LinearLayout>

    12.myViewpager2

    Java文件

    package com.example.myviewpagerand;import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.RecyclerView; import androidx.viewpager.widget.ViewPager; import androidx.viewpager2.widget.ViewPager2;import android.os.Bundle;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ViewPager2 vip=findViewById(R.id.vp);VpagerAdapter myadapter=new VpagerAdapter();vip.setAdapter(myadapter);} }

    Java文件

    package com.example.myviewpagerand;import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView;import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView;import java.util.ArrayList; import java.util.List;class VpagerAdapter extends RecyclerView.Adapter<VpagerAdapter.VpHolder>{private List<String> title=new ArrayList<>();public VpagerAdapter(){title.add("失所");title.add("神說");title.add("看破");title.add("失火");title.add("折磨");title.add("自我");title.add("無果");title.add("得過");title.add("執(zhí)著");}@NonNull@Overridepublic VpHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {return new VpHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.iteam,parent,false));}@Overridepublic void onBindViewHolder(@NonNull VpHolder holder, int position) {holder.tv.setText(title.get(position));}@Overridepublic int getItemCount() {return 3;}class VpHolder extends RecyclerView.ViewHolder {TextView tv;LinearLayout llay;public VpHolder(@NonNull View itemView) {super(itemView);llay=itemView.findViewById(R.id.container);tv=itemView.findViewById(R.id.tv_1);}} }

    XML文件()

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><androidx.viewpager2.widget.ViewPager2android:id="@+id/vp"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/colorPrimaryDark"></androidx.viewpager2.widget.ViewPager2> </LinearLayout>

    XML文件()

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:id="@+id/container"android:layout_height="match_parent"><TextViewandroid:id="@+id/tv_1"android:layout_width="match_parent"android:layout_height="match_parent"android:textColor="#961515"android:gravity="center"android:text="唯我中華!!"android:textSize="50dp"/></LinearLayout>

    13.長按條目激活上下文菜單

    Java文件

    class mClick implements OnClickListener {public void onClick(View v){String passwd;passwd=edit.getText().toString(); if(passwd.equals("abc123")) txt2.setText("歡迎進入快樂大本營!"); elsetxt2.setText("非法用戶,請立刻離開!"); }}}

    XML文件

    class mClick implements OnClickListener {public void onClick(View v){String passwd;passwd=edit.getText().toString(); if(passwd.equals("abc123")) txt2.setText("歡迎進入快樂大本營!"); elsetxt2.setText("非法用戶,請立刻離開!"); }}}

    總結(jié)

    還有待補充

    總結(jié)

    以上是生活随笔為你收集整理的Android--初级的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。