日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android--初级

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

Android--初級

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


前言

因為熱愛,所以學習
官網
學習路線


一、初識?

1.目錄

2.res

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


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

如何去使用:

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.反編譯獲取文件(失敗)

看看相關

二、控件

Android系統的大多數用戶界面組件均放置在widget包中。

1.文本標簽TextView與按鈕Button

文本標簽TextView用于顯示文本內容,是最常用的組件之一

按鈕Button在程序設計中最常用的方式是實現OnClickListener監聽接口,當單擊按鈕時,通過OnClickListener監聽接口觸發onClick()事件,實現用戶需要的功能。
OnClickListener接口有一個onClick()方法,在按鈕Button實現OnClickListener接口時,一定要重寫這個方法。
按鈕Button調用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 可以輸入數值.
signed 可以輸入帶符號的數值.
decimal 可以輸入帶小數點的數值.

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.復選按鈕CheckBox

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

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

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

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

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

scaleType屬性值

7.消息提示Toast

Toast類的常用方法

8.列表組件 ListView和ListActivity

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

9. 滑動抽屜組件SlidingDraw

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

SlidingDraw類的重要方法

三.中級控件

1.傳遞參數組件Intent

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

1.Activity頁面切換

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

2.應用Intent在Activity頁面之間傳遞數據

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

(1)在頁面Activity A端
創建Intent對象和Bundle對象
Intent intent = new Intent();
Bundle bundle = new Bundle();
為Intent指定切換頁面,用Bundle 存放"鍵-值"對數據
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對象中按"鍵-值"對的鍵名獲取對應數據值
String str = bunde.getString(“text”);

2. 菜單Menu

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

1.選項菜單(Option Menu)

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

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

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

2.上下文菜單(Context Menu)

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

創建一個上下文菜單的步驟如下:

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

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

    1.消息對話框AlertDialog


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

    2.進度條對話框ProgressDialog

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

    4.1 繪制幾何圖形

    1、畫布Canvas


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

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

    5. 后臺服務與系統服務調用

    5.1后臺服務Service

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


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

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

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

    5.2信息廣播機制Broadcast

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

    實現廣播和接收機制的步驟:
    (1)創建Intent對象,設置Intent對象的action屬性。這個action屬性是接收廣播數據的標識。注冊了相同action屬性的廣播接收器才能收到發送的廣播數據。
    Intent intent = new Intent();
      intent.setAction(“abc”);
    (2)編寫需要廣播的信息內容,將需要播發的信息封裝到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)
    {
    /* 接收廣播信息并對信息作出響應的代碼 */
    }
    }
    (4)在配置文件AndroidManifest.xml中注冊廣播接收類。





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

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

    5.3 系統服務

    5.3.1 Android的系統服務

    5.3.2 系統通知服務Notification

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

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

    5.3.3 系統定時服務AlarmManager



    6.1 Web視圖

    6.1.1 瀏覽器引擎WebKit

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

    6.1.2 Web視圖對象

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

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

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

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

    6.1.3 調用JavaScript

    (1) WebSteeings類

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

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

    6.2 基于TCP協議網絡程序設計

    對話框是一個有邊框、有標題欄的獨立存在的容器,在應用程序中經常使用對話框組件來進行人機交互。Android系統提供了四種常用對話框:
    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,可以復用!!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(需要聯網)

    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.第二種加載方式網頁,訪問網絡資源//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);}//標題隨之改變@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.動畫伸縮,旋轉,擴大

    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="旋轉"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, "戰斗力");menu.add(0, item3, 0, "經典語錄");}//菜單單擊響應@Overridepublic boolean onContextItemSelected(MenuItem item){//獲取當前被選擇的菜單項的信息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){// 調用父類方法來加入系統菜單super.onCreateOptionsMenu(menu);// 添加菜單項menu.add(1, //組號1, //唯一的ID號1, //排序號"菜單項1"); //標題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()){ //響應每個菜單項(通過菜單項的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("執著");}@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("非法用戶,請立刻離開!"); }}}

    總結

    還有待補充

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    免费中午字幕无吗 | 久久久久久久久久久网站 | 人人干人人干人人干 | 五月婷婷.com | 有码中文字幕 | 久久人人爽 | 中文在线免费看视频 | 免费av在线播放 | 精品一区av | 免费观看91视频大全 | 国产五十路毛片 | 国产色在线,com | 国产精品视频资源 | 日韩在线免费小视频 | 国产在线一区二区三区播放 | 国产 一区二区三区 在线 | 亚洲黄色免费观看 | 热久久免费视频 | 韩国精品在线观看 | 99国产视频在线 | 亚洲精品久久久久中文字幕m男 | 蜜桃av久久久亚洲精品 | 超薄丝袜一二三区 | 九九久久精品 | 4438全国亚洲精品观看视频 | 天天干天天干天天干天天干天天干天天干 | 五月婷婷狠狠 | 草久草久 | 精品国产一区二区三区久久久蜜月 | 久久丁香| 午夜精品久久久久久久久久久 | 欧美一级日韩三级 | 亚洲自拍自偷 | 亚洲精品在线观看网站 | 九九九九九九精品任你躁 | 国产精品1区2区3区 久久免费视频7 | 视色网站 | 午夜精品电影一区二区在线 | 成人av动漫在线 | 中文字幕 在线看 | 日韩电影一区二区在线 | 久久久免费少妇 | 国产视频久久久久 | 麻豆传媒视频观看 | 国产精品高清免费在线观看 | 久久国产精品系列 | 亚洲午夜av久久乱码 | 欧美久久久久久久久久 | 色婷婷欧美 | 热久久视久久精品18亚洲精品 | 久久精品1区2区 | 日韩欧美一区视频 | 成人久久18免费 | 亚洲在线视频网站 | 久久免费99 | 91麻豆传媒 | 91视频最新网址 | 成人午夜剧场在线观看 | 久久伊人八月婷婷综合激情 | 国产精品久久久久一区二区 | 91在线中文 | 免费一级片在线观看 | 国产一区二区久久精品 | 中文字幕123区 | 又黄又爽又无遮挡的视频 | 亚洲欧美综合精品久久成人 | 久久久精品午夜 | 国产精品乱码在线 | 国产精品igao视频网网址 | 亚洲国产精品成人精品 | a亚洲视频 | 免费观看的黄色片 | 日日天天av | 免费亚洲黄色 | 啪啪免费观看网站 | 黄色软件在线看 | av成人在线观看 | 国产精品9999 | 香蕉视频在线视频 | 久久伊99综合婷婷久久伊 | 国产成人精品综合 | 久热香蕉视频 | 日韩av免费观看网站 | 天天操夜夜操国产精品 | 国产精品成人a免费观看 | 在线不卡的av | 日韩爱爱片 | 国产一级h | freejavvideo日本免费 | 久久精品毛片基地 | 97人人精品 | 最新极品jizzhd欧美 | 国产原创91| 亚洲精品欧美视频 | 久久亚洲精品国产亚洲老地址 | 国产99在线免费 | 激情综合中文娱乐网 | 亚洲欧美成人网 | 一级黄色免费 | 7777精品伊人久久久大香线蕉 | 精品久久国产一区 | 中文字幕日韩国产 | 亚洲在线视频观看 | 91麻豆精品国产91久久久久久久久 | 狠狠干天天色 | 一区二区三区影院 | 久久国产精品电影 | 成人在线视频论坛 | 狠狠干2018 | 99久热在线精品视频 | 亚洲午夜精品一区 | 天天曰天天爽 | 国产成人精品久 | 精品毛片久久久久久 | 黄网在线免费观看 | 中文字幕在线看视频国产 | 日本天天色 | 免费视频97 | 中文字幕av在线电影 | 天天狠狠| 亚洲免费在线观看视频 | 欧美福利视频一区 | 粉嫩aⅴ一区二区三区 | 亚洲国产精品视频 | 亚洲视频,欧洲视频 | 国产精品久久久久久一区二区三区 | 国产亚洲一区二区在线观看 | 天天干天天草 | 国产精品亚洲a | 黄色片网站免费 | 国内小视频 | 特级xxxxx欧美 | 狠狠的干狠狠的操 | 国产色拍| 91香蕉视频黄色 | 91视视频在线直接观看在线看网页在线看 | 国产老太婆免费交性大片 | 精品久久久久免费极品大片 | 国产人免费人成免费视频 | 综合色综合 | 国产原创中文在线 | 中文字幕国产在线 | 99久久99热这里只有精品 | 久久福利 | 91tv国产成人福利 | 久久久国产视频 | 成人av亚洲| 91九色视频观看 | 国模一二三区 | 国产精品久久艹 | 高清av在线免费观看 | 91在线观看视频网站 | 免费在线观看av网址 | 久草视频播放 | 91漂亮少妇露脸在线播放 | 97超碰总站 | 欧美性生活免费 | 99久久精品免费看国产一区二区三区 | 日批视频在线播放 | 91人人澡人人爽 | 成人av影视 | 日日日日日 | 中文字幕在线观看一区二区三区 | 久久婷婷色 | 999视频在线播放 | 欧美一级淫片videoshd | 久久视频在线视频 | 国产亚洲在线视频 | 国产精品美女视频 | 久久好看 | 国产视频中文字幕 | 久久精视频| 国产小视频你懂的在线 | 国产精品18久久久久久久久 | 欧美性粗大hdvideo | 国产在线观看91 | 四虎成人精品在永久免费 | 我要色综合天天 | 日韩欧美一区二区在线 | 黄在线免费看 | 色永久免费视频 | 91亚瑟视频 | sesese图片 | 成人黄色在线 | 成人永久免费 | 国语精品久久 | 中文欧美字幕免费 | 久久精品视频在线观看免费 | 国产一卡在线 | 亚洲三级在线 | 亚洲精品视频在线观看免费视频 | 免费观看www7722午夜电影 | 久久久久久99精品 | 日韩一区二区三区免费电影 | 一区二区三区影院 | 免费在线观看av网址 | 日韩欧美区 | 日韩视频免费在线 | 99久高清在线观看视频99精品热在线观看视频 | 日本免费一二三区 | 91插插插网站 | 日韩精品中文字幕一区二区 | 九九精品久久久 | 天天爱天天操天天射 | 精品一区二三区 | 香蕉视频在线免费 | 97色视频在线 | 成人免费视频在线观看 | 免费在线91 | 成人一级免费视频 | 久久观看最新视频 | 久久综合之合合综合久久 | 国产精品女教师 | 精品一区二区三区久久 | 久久精品首页 | 成人久久精品视频 | 996久久国产精品线观看 | 精品一区二区三区久久久 | 97超碰在线免费观看 | 日韩精品一区二区在线视频 | 日韩精品免费在线 | 亚洲少妇影院 | 日韩欧美亚洲 | 久草视频国产 | 超薄丝袜一二三区 | 亚洲美女视频在线 | 韩国精品福利一区二区三区 | 不卡中文字幕在线 | www.天天成人国产电影 | av成人亚洲| 视频精品一区二区三区 | 91在线免费播放视频 | av在线播放快速免费阴 | 免费日韩一区二区三区 | av片在线观看 | 亚洲dvd| 国产精品一区二区在线免费观看 | 97超碰国产精品女人人人爽 | 毛片一级免费一级 | 在线观看日本高清mv视频 | 精品人人人人 | 少妇搡bbbb搡bbb搡aa | 欧美国产大片 | 午夜精品一区二区三区在线视频 | 成人一级免费电影 | 在线小视频你懂得 | 伊人日日干 | 在线免费观看av网站 | 欧美另类sm图片 | 天天操天天干天天摸 | 精品视频在线视频 | 天天综合操 | 中文字幕在线久一本久 | 美女网站在线观看 | 国产一级黄色电影 | av免费在线网站 | 欧美一区二区日韩一区二区 | 青青网视频| 97国产大学生情侣酒店的特点 | 99久久精品免费看国产四区 | 中文字幕在线日本 | 久久精品韩国 | 久久免费福利 | 2021国产在线 | 国产明星视频三级a三级点| 干综合网 | 中文字幕免费高清av | 久久美女视频 | 国产高清在线观看av | 在线观看视频h | 免费看的av片 | 色噜噜狠狠色综合中国 | 99精品在线免费在线观看 | 久久精品欧美 | 精品国产区 | 中文字幕观看在线 | a天堂最新版中文在线地址 久久99久久精品国产 | 一区二区在线不卡 | 夜夜夜夜爽 | 综合婷婷丁香 | 综合色伊人| 国产精品原创视频 | av亚洲产国偷v产偷v自拍小说 | 青青河边草免费直播 | 国产成人区 | 中文字幕亚洲综合久久五月天色无吗'' | 青春草免费在线视频 | 亚洲欧洲美洲av | 国产成人在线综合 | 4hu视频 | 国产一区二区三精品久久久无广告 | 免费三级黄色 | 狠狠gao | 天天综合视频在线观看 | 一区二区三区免费播放 | 婷婷精品国产欧美精品亚洲人人爽 | 深爱婷婷激情 | 国产成人精品一区二区三区福利 | 中文字幕亚洲精品日韩 | av专区在线 | 黄色小说视频在线 | 黄色91免费观看 | 亚洲高清网站 | 欧美日韩精品免费观看 | 亚洲午夜久久久久久久久电影网 | 久久经典国产 | 亚洲国产精品500在线观看 | 婷婷亚洲综合 | 成年人免费在线观看网站 | 狠狠色狠狠色综合日日92 | 福利视频一区二区 | 天天综合网天天 | 狠狠操狠狠插 | 91在线在线观看 | 久久久国产精品成人免费 | 丁香视频五月 | 深爱五月激情网 | 亚洲美女久久 | 精品久久久久久亚洲综合网 | 日韩黄色在线电影 | 亚洲网久久 | 国产成人黄色在线 | 精品国内自产拍在线观看视频 | 免费观看丰满少妇做爰 | 日韩手机视频 | 91精品人成在线观看 | 久久久久欧美精品999 | 国产欧美在线一区 | 99免费在线观看视频 | 日韩在线视频不卡 | 欧美另类高清 videos | 国产精品一区二区 91 | 国产精品s色 | 欧美日韩高清一区二区 | a√国产免费a | 丝袜精品视频 | 欧美 亚洲 另类 激情 另类 | 欧洲激情综合 | 国产精品99久久久久久久久 | 久久国精品 | 亚洲成人黄色在线观看 | 99色免费 | 免费亚洲视频 | 国产在线观看中文字幕 | 97精品国产97久久久久久粉红 | 国产视频一区二区在线观看 | 国产精品爽爽久久久久久蜜臀 | 中文久久精品 | 亚洲另类视频在线观看 | 国产裸体bbb视频 | 00av视频 | 久久艹人人 | 日本中文字幕在线免费观看 | 久久精品久久久久久久 | 91免费在线视频 | 久久久精品久久日韩一区综合 | 亚洲成人国产 | 亚洲h视频在线 | 国内精品福利视频 | www视频免费在线观看 | 国产精品精品国产色婷婷 | 九九热在线精品 | 国产精品一区二区久久精品爱微奶 | 国产午夜剧场 | 中文在线资源 | 久久精品一区二区三区中文字幕 | 欧美日韩免费网站 | 色综合久久久久久久 | 黄色毛片在线 | 国产精品久久久久久久久毛片 | 国产精品电影一区二区 | 美女国内精品自产拍在线播放 | 亚洲综合在线视频 | 丁香激情网 | 亚洲另类视频 | 国产精品网红直播 | 色综合人人 | 天天操天天干天天爽 | 在线观看成人网 | 久久免费在线观看视频 | 国产视频美女 | 欧美国产91| 不卡视频在线 | 国产精品福利在线观看 | 99久久久国产精品免费99 | 18av在线视频 | 91免费网 | 久草视频视频在线播放 | 在线观看中文字幕亚洲 | 91亚洲精品久久久蜜桃 | av看片在线 | 国产18精品乱码免费看 | 国产精品久久久久久a | 特片网久久 | 最近更新的中文字幕 | 狠狠干天天操 | 婷婷综合视频 | 天天操天天干天天爽 | 国产亚洲免费的视频看 | 青青河边草手机免费 | 男女啪啪网站 | 欧美精品久久久久 | 欧美日韩大片在线观看 | 婷婷色网| 国产精品亚洲人在线观看 | 在线免费观看黄色大片 | 99精品欧美一区二区蜜桃免费 | 日韩在线免费高清视频 | 久久亚洲福利视频 | 91久久精品日日躁夜夜躁国产 | 亚洲精品国产高清 | 最新av中文字幕 | 色噜噜狠狠色综合中国 | 久久免费大片 | 美女在线国产 | 激情www | 97超碰人| 超碰97中文 | 一区二区三区在线视频观看58 | 99久久精品久久久久久清纯 | 久久久免费少妇 | www亚洲视频 | 久久国产99 | av千婊在线免费观看 | 91资源在线免费观看 | 二区在线播放 | 日本三级香港三级人妇99 | 国产精品九九九九九 | 粉嫩一二三区 | 一本之道乱码区 | 亚洲天天综合 | 国产高清精品在线 | 精品中文字幕在线播放 | 五月婷婷操 | 91自拍视频在线 | 性色视频在线 | 伊人天天狠天天添日日拍 | 国产精品都在这里 | 国产最新网站 | 免费在线观看av网站 | 91成人网页版 | 久久国产电影 | 国产免费又爽又刺激在线观看 | 狠狠色伊人亚洲综合网站野外 | 国产不卡视频在线播放 | 国产精品黄色av | 成人一级电影在线观看 | 国产成人专区 | 黄色成年网站 | 六月丁香激情综合色啪小说 | 欧美亚洲精品在线观看 | 免费视频在线观看网站 | 色偷偷av男人天堂 | 91视频免费 | 一级性av | 人人爽人人爱 | 韩国av免费在线观看 | 黄色毛片观看 | av免费看在线 | 久久午夜免费观看 | 久久你懂的 | 狠狠干狠狠色 | 99国产成+人+综合+亚洲 欧美 | 日韩高清激情 | 99视频在线免费观看 | 91精品国产自产在线观看永久 | 人人干人人超 | 操操日 | 97在线免费 | 成人毛片a | 亚洲午夜激情网 | www.com久久| 久久精品播放 | 免费在线色视频 | 欧美精品久久久久久 | 国产成人99久久亚洲综合精品 | 国产精品欧美一区二区三区不卡 | 亚洲丁香日韩 | 久久成人国产精品免费软件 | 操处女逼| 91视频观看免费 | 黄色片毛片 | 综合中文字幕 | 日韩在线视频免费看 | 国产成人久久精品亚洲 | 国产视频 亚洲视频 | 99久久综合狠狠综合久久 | 国产性天天综合网 | 久草在线在线精品观看 | 精品一二三四在线 | 最新极品jizzhd欧美 | av在线等 | 久久中文欧美 | 日本爱爱免费视频 | 久久精品中文视频 | 四虎免费在线观看 | 欧美一区二区三区激情视频 | 国产精品一区二区三区视频免费 | av电影在线免费观看 | 99久久99久久精品国产片果冰 | va视频在线 | 国产在线中文字幕 | 日韩成人免费电影 | 午夜精品区 | 最近中文字幕在线中文高清版 | 国内外成人免费在线视频 | 欧美精品久久久久久久 | 久久国产精品99久久久久久老狼 | 国产在线p| 就色干综合 | 久久高清国产 | 亚洲日本精品 | 免费看污污视频的网站 | avav99| 免费在线观看国产精品 | 四虎视频 | 中文字幕一区二区在线播放 | 丁香在线观看完整电影视频 | 日韩一级电影在线 | 99国产精品视频免费观看一公开 | 精品无人国产偷自产在线 | 成年人视频在线观看免费 | 久久久久久久久久久久久久电影 | 亚洲欧洲av | 中文在线a天堂 | 在线观看黄色的网站 | 亚洲欧美日本国产 | 黄网站app在线观看免费视频 | 91在线影院| 二区三区中文字幕 | 激情伊人| 亚洲永久精品在线 | 久久久精品二区 | 在线观看视频99 | 丁香电影小说免费视频观看 | 国产精品黑丝在线观看 | 伊人天天狠天天添日日拍 | 亚洲国产精品久久久 | 国产精品 日韩精品 | 99国产成+人+综合+亚洲 欧美 | 久久久资源网 | 精品产品国产在线不卡 | 亚洲免费不卡 | 精品视频国产一区 | 国产区第一页 | 香蕉在线影院 | 在线97| 成人国产亚洲 | 国产在线a| 91在线资源| 日韩中文字幕免费在线观看 | 嫩小bbbb摸bbb摸bbb| 日韩大片在线免费观看 | 婷婷播播网| 天天天干天天天操 | 亚洲一区二区精品在线 | 久久久免费在线观看 | 日韩免费一级电影 | 欧美一级片在线 | 麻豆91视频 | 精品国产一区二区三区久久久蜜臀 | 久久婷婷精品视频 | 国产精品久久麻豆 | 天天se天天cao天天干 | 9999精品| 福利视频第一页 | 中文字幕在线国产精品 | 久久久久久久久久久久久久免费看 | 激情欧美一区二区三区免费看 | 人人爽人人爽av | 成年人视频在线 | a天堂最新版中文在线地址 久久99久久精品国产 | 一级淫片在线观看 | 亚洲视频1区2区 | a级国产乱理伦片在线观看 亚洲3级 | 午夜在线观看 | 久久亚洲综合国产精品99麻豆的功能介绍 | 久久久国产影院 | 五月婷婷激情五月 | 麻豆视频在线播放 | 91高清在线 | 在线色吧 | 亚洲男男gⅴgay双龙 | 久久草在线视频国产 | 精品国产美女 | 国产一区二区播放 | 国产精品99久久久久的智能播放 | 国产二区电影 | 日韩免费网址 | 成人app在线免费观看 | 欧美肥妇free | 国产免费av一区二区三区 | 国产日韩欧美在线免费观看 | 国产小视频你懂的在线 | 中文字幕av免费在线观看 | 国产粉嫩在线 | 黄网站免费看 | 叶爱av在线 | 久久综合久久久久88 | 欧美a影视| 亚洲九九九在线观看 | 久久a国产 | 国产成人精品一区二区三区在线 | 超碰人人舔 | av网址aaa | 天堂入口网站 | 欧美aa在线 | av在线日韩 | 一区二区三区 亚洲 | 日韩色一区二区三区 | 最近中文字幕高清字幕免费mv | 国产一级黄 | 日本黄色一级电影 | 黄色国产精品 | 最新91在线视频 | 91成年人在线观看 | 久草视频免费 | 久久婷婷一区 | 91视频啊啊啊 | 午夜精品福利一区二区 | 九九热免费观看 | 国产成人精品一区一区一区 | av在线播放免费 | 欧洲性视频 | 午夜少妇av | 亚洲国产大片 | 最新国产福利 | 欧美日韩精品在线一区二区 | 婷婷综合 | 亚洲成人国产精品 | 日韩一区二区在线免费观看 | 亚洲人久久久 | 国产精品久久久久久婷婷天堂 | 成人免费共享视频 | av千婊在线免费观看 | 久久只有精品 | 日韩精品一区二区三区丰满 | 九九九九精品 | 黄色三级在线观看 | 婷婷六月丁香激情 | 中文字幕色网站 | 婷婷五月情 | 99久久精品免费看国产 | 欧美精品久久久久久久免费 | 欧美日韩裸体免费视频 | 亚洲综合丁香 | 97视频在线观看网址 | 一级黄色片在线播放 | 天天拍天天色 | 国产精品毛片久久久 | 久久久国产精品电影 | 中文字幕在线一二 | 日日夜夜草 | 日韩欧美视频二区 | 成人久久电影 | 欧美 国产 视频 | 久久国产精品精品国产色婷婷 | 天天干,天天射,天天操,天天摸 | 麻豆一区在线观看 | 看av在线 | 国产精品 日韩 | 超碰97公开 | 麻豆系列在线观看 | 国产精品99久久久久的智能播放 | 久久久久国产成人精品亚洲午夜 | 人人爽人人爽人人 | 国产一级在线 | 91在线免费播放视频 | 在线黄色av电影 | 国产一区欧美在线 | 久久久久久久久久电影 | 国产精久久 | 欧美性爽爽| 国产精品电影一区 | 婷婷综合在线 | 天天干天天摸天天操 | 日韩网站一区 | 一二三区视频在线 | 在线观看中文字幕一区 | 亚洲精品在线视频观看 | 色婷婷视频在线 | 欧美日韩国产一区二区三区 | 久久久久久久久爱 | 精品一区二区免费在线观看 | 超碰伊人网 | 色婷婷久久久综合中文字幕 | 国产成人精品一二三区 | 日韩精品中文字幕在线不卡尤物 | 又色又爽又黄高潮的免费视频 | 免费视频xnxx com | 欧美日韩国产二区三区 | 骄小bbw搡bbbb揉bbbb | 日韩av片无码一区二区不卡电影 | 中文字幕日本在线观看 | 国产精品一区二区果冻传媒 | 国产精品久久久久9999 | 天天干夜夜夜操天 | 午夜美女福利 | 色综合久久久久综合 | 激情综合六月 | 国产xvideos免费视频播放 | 亚洲精品www| 国产成人精品av在线 | 天堂资源在线观看视频 | 九九在线高清精品视频 | 在线观看黄色大片 | 国产日本三级 | 亚洲一区精品人人爽人人躁 | 黄色网址中文字幕 | 欧美怡红院 | 久久大片网站 | 亚洲精品视频在线免费播放 | 超碰在线色 | 国内成人综合 | 婷婷六月综合网 | 日韩免费在线视频 | 久草精品视频在线播放 | 夜夜干夜夜 | 色婷婷久久 | 成 人 a v天堂| 天天色棕合合合合合合 | 国产精品毛片一区 | 欧美激情视频一二三区 | 婷婷国产v亚洲v欧美久久 | 免费日韩电影 | 亚洲激情中文 | 97操操操| 久久久久久久久久网 | 国产黄色一级大片 | 蜜臀aⅴ国产精品久久久国产 | 99九九99九九九视频精品 | 国产毛片久久 | 亚洲情婷婷 | 九九九毛片 | 久草在线视频在线观看 | 欧美激情精品久久久久久 | 亚洲欧美激情插 | 91免费高清观看 | 日韩午夜精品 | 日韩在线观看a | 久久免费黄色大片 | 久久成年视频 | 成人av片在线观看 | 日韩在线观看不卡 | 美女网站视频一区 | 欧美不卡在线 | 特级毛片爽www免费版 | 免费久久精品视频 | 国产精品久久久久久婷婷天堂 | 国产一级在线观看视频 | 在线99 | 欧美aa在线 | 日本三级大片 | 综合色中文 | 色婷婷福利视频 | 国产精品九色 | 国产探花 | 国产精品 国产精品 | 国产亚洲视频在线 | 日韩电影在线观看中文字幕 | 久久免费高清视频 | 99爱精品视频 | 国产亚洲婷婷 | 国产免费作爱视频 | 亚洲九九九在线观看 | 中文字幕123区 | 久久99久久99精品免费看小说 | 亚洲粉嫩av | 一区二区三区手机在线观看 | 久久久久久网 | 伊人久久精品久久亚洲一区 | 国内99视频 | 丁香五月缴情综合网 | 日日夜夜人人天天 | 粉嫩aⅴ一区二区三区 | 中文资源在线播放 | www.久艹| 韩国av三级| av日韩在线网站 | 99久久精品免费看国产一区二区三区 | 成年人网站免费观看 | 高清免费在线视频 | 日本三级久久 | 337p西西人体大胆瓣开下部 | 97成人资源 | 国产999视频在线观看 | 91手机视频 | 综合色天天 | 最近中文字幕国语免费高清6 | 99热官网 | 久久久久久久久久免费视频 | 碰天天操天天 | 日韩动漫免费观看高清完整版在线观看 | 天天弄天天干 | 免费看v片网站 | 一区二区三区免费在线播放 | 五月婷婷色丁香 | 久久亚洲在线 | 成人a在线观看高清电影 | 99视频免费| 日本久久综合视频 | 国产精品美女毛片真酒店 | 九九免费在线观看视频 | 91中文字幕网 | 久久亚洲区 | 黄网站色成年免费观看 | 国产一区二区三区免费观看视频 | 九九九热精品免费视频观看网站 | 在线免费观看视频一区二区三区 | 国产成人精品久久久久蜜臀 | 国产在线欧美在线 | 国产黄色精品在线观看 | 免费av看片 | 国产高清av在线播放 | 亚洲国产中文在线 | 久久久久免费精品 | 久久精品人人做人人综合老师 | 国产剧情在线一区 | 99久久精品午夜一区二区小说 | 免费成人av网站 | 午夜体验区 | 久久精品视频播放 | 中文字幕有码在线观看 | 高清不卡一区二区在线 | 国产99久久久精品 | 国产精品xxxx18a99 | 亚洲欧洲国产精品 | 黄网站a| 国内精品久久久久影院一蜜桃 | 一区二区欧美在线观看 | 国产在线视频一区二区三区 | 在线免费亚洲 | 免费看片色| 国产69精品久久99的直播节目 | 国产在线国偷精品产拍 | 免费看黄色小说的网站 | 特及黄色片 | 久久综合天天 | 久久欧洲视频 | 日韩午夜精品福利 | 日本精品久久久久久 | 欧美在线视频二区 | 亚洲欧美国产精品 | 欧美精品成人在线 | 天天干天天干天天色 | av一级片网站| 最新国产精品亚洲 | 亚洲精品在线观看免费 | 97操操操| 五月天亚洲激情 | 国产精品第三页 | 欧美日韩国产精品一区 | 国产又黄又爽无遮挡 | 97精品视频在线播放 | 国产成人一区二区三区久久精品 | 日韩小视频网站 | 欧美大片大全 | 中文国产成人精品久久一 | 激情av在线播放 | 欧美天天干 | 色偷偷av男人天堂 | 最新精品视频在线 | 国内久久久 | 美国人与动物xxxx | 国产精品国产亚洲精品看不卡15 | www.五月婷婷 | 久久国产免费看 | 在线观看一级视频 | 中文字幕资源网在线观看 | 亚洲91精品 | 91视频网址入口 | 亚洲精品在线国产 | 久久精品欧美日韩精品 | 在线你懂的视频 | 99成人免费视频 | 久久精品美女 | 成人黄色在线 | 人人爱人人爽 | 日韩精品观看 | 91亚洲免费 | 成人在线视频免费观看 | 在线之家免费在线观看电影 | 国产成人一区二区三区久久精品 | 国产亚洲精品久久久网站好莱 | 久色小说| 久久99久久99精品 | 亚洲精品美女久久久久 | 色偷偷网站视频 | 激情黄色一级片 | 中文字幕在线看视频 | 免费人成在线观看网站 | 亚洲国产高清在线 | 日韩免费电影网站 | 久久久久综合网 | 91麻豆文化传媒在线观看 | 黄色av电影免费观看 | 韩日av一区二区 | 91热视频在线观看 | 日韩在线观看一区二区 | 91av视频在线观看 | 中文字幕亚洲精品日韩 | 色综合久久久久综合体桃花网 | 色婷婷六月 | 手机av在线网站 | 在线观看91网站 | 久久se视频| 亚洲精品视频在线 | 婷婷射五月 | 日韩av免费一区二区 | 国产高清不卡在线 | 欧洲性视频 | av一区二区三区在线观看 | 亚洲午夜在线视频 | av中文字幕在线观看网站 | 日日摸日日添夜夜爽97 | 黄色免费网战 | 亚洲在线视频免费 | 精品亚洲一区二区三区 | 国产生活一级片 | 欧美坐爱视频 | 日韩三级视频在线观看 | 亚洲少妇xxxx | 国产手机精品视频 | 高清不卡一区二区三区 | 99久久精品国产毛片 | 日本久久久久久久久 | 人人干狠狠操 | 国产亚洲精品久久久久久无几年桃 | 亚洲男男gaygayxxxgv | 国产精品久久av | 国产中文字幕视频 | 亚洲成av人片在线观看无 | 天天操天天爽天天干 | 欧美在一区 | 99久久精品网 | 99婷婷狠狠成为人免费视频 | 欧美aa级 | 就操操久久 | 精品美女在线观看 | 99精品久久99久久久久 | 中文字幕乱码日本亚洲一区二区 | 中文字幕资源网在线观看 | 欧美日韩色婷婷 | 久久久久久久久久久影视 | 国产自产高清不卡 | 24小时日本在线www免费的 | 深爱激情综合 | 国产在线中文 | 日韩在线第一区 | 日韩久久精品一区二区 | 国产69精品久久久久久久久久 | 天天综合狠狠精品 | 亚洲最新视频在线播放 | 最新中文在线视频 | 免费观看福利视频 | 国产精品日韩久久久久 | 国产黄色片久久 | 亚洲欧美va | 亚洲欧洲日韩在线观看 | 久久久国产毛片 | www.97色.com| 毛片网站在线观看 | a√天堂中文在线 | 国产精品亚洲成人 | 久久久久亚洲精品成人网小说 | 欧美在线视频一区二区三区 | 久久精品国产免费观看 | 亚洲毛片视频 | 国产麻豆剧传媒免费观看 | 精品久久久久久国产偷窥 | 久久综合在线 | 日本久久久久久久久久 | 黄色av三级在线 | 99在线观看 | 日本久久久久久久久 | 久久国产欧美日韩精品 | 亚洲 欧美 国产 va在线影院 | 国产999精品 | 美女视频久久 | 久久视频二区 | 精品国产aⅴ一区二区三区 在线直播av | 超碰人人做 | 丁香婷婷久久久综合精品国产 | 欧美精品午夜 | 99在线视频网站 | 一区二区精品在线视频 | 欧美色综合天天久久综合精品 | 精品国产三级 | 久草网站| 午夜精品久久久久久久爽 | 精品久久久久久久久久久久 | 91麻豆传媒 | 国产一区二区三区免费在线 | 亚洲精品88欧美一区二区 | 五月黄色| 久久激情视频 久久 | 国产a高清 | 2024国产精品视频 |