1. 程式人生 > >【Android開發】範例3-"我同意"遊戲條款

【Android開發】範例3-"我同意"遊戲條款

實現遊戲開始介面中的我同意遊戲條款功能:不勾選“我同意”複選框,就不會出現“開始遊戲”的按鈕,勾選“我同意”複選框,出現“開始遊戲”的按鈕。

效果圖如圖:

未點選"我同意"之前


點選“我同意”之後


點選"開始"按鈕的瞬間的效果:



具體實現程式碼:
res/layout/main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:orientation="vertical"
	android:gravity="center"
	android:screenOrientation="landscape" 
	android:background="@drawable/background">
	<!-- 顯示遊戲條款的TextView -->
    <TextView android:text="@string/artcle"
        android:id="@+id/textview1"
        android:paddingTop="40px"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxWidth="700px"
        style="@style/text"/>
    <!-- "我同意"複選框 -->
    <CheckBox android:text="我同意"
        android:id="@+id/checkBox1"
        android:textSize="22px"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <!-- 圖片按鈕 visibility="invisible"設定按鈕不可見-->
    <ImageButton android:id="@+id/start"
        android:background="#0000"
        android:paddingTop="30px"
        android:src="@drawable/button_state"
        android:visibility="invisible"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/> 
</LinearLayout>

res/drawable/button_state.xml
用於設定滑鼠按下時顯示的圖片和滑鼠沒有按下時的圖片:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/stop"/>
    <item android:state_pressed="false" android:drawable="@drawable/in"/>
</selector>

res/value/strings.xml:(在Android中,空格使用“&#160;”表示)
<?xml version="1.0" encoding="utf-8"?>
<resources>


    <string name="app_name">test3.1</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="artcle">      
        註冊及使用賬號,不得有下列情形:
  4.6.1	違反憲法或法律法規規定的;
  4.6.2	散佈謠言,擾亂社會秩序,破壞社會穩定的;
  4.6.3	散佈淫穢、色情、賭博、暴力、凶殺、恐怖或者教唆犯罪的;
  4.6.4	侮辱或者誹謗他人,侵害他人合法權益的;
  4.6.5	含有法律、行政法規禁止的其他內容的。</string>


</resources>

res/value/styles.xml:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    
     <style name="text">
       <item name="android:textSize">24px</item>
       <item name="android:textColor">#FFFFFF</item>
    </style>
	 
    <style name="AppBaseTheme" parent="android:Theme.Light"> 
    </style>


    <style name="AppTheme" parent="AppBaseTheme">
    </style>
</resources>

在主活動的onCreat()方法中,獲取佈局檔案中新增的"進入"圖片按鈕和"我同意"複選框,併為複選框新增狀態改變監聽器,用於實現當複選框被選中時顯示“進入”按鈕,否則不顯示。具體程式碼如下:

package com.example.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageButton;
import android.widget.Toast;


public class MainActivity extends Activity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		final ImageButton imageButton=(ImageButton)findViewById(R.id.start);//獲取"進入"按鈕
		CheckBox checkbox=(CheckBox)findViewById(R.id.checkBox1);//獲取複選框
		//為複選框新增監聽器
		checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				if(isChecked){//當複選框被選中時
					imageButton.setVisibility(View.VISIBLE);//設定"進入"按鈕顯示
				}else{
					imageButton.setVisibility(View.INVISIBLE);//設定"進入"按鈕不顯示
				}
				imageButton.invalidate();//重繪ImageButton
			}
		});
		//點選按鈕出現"進入遊戲...."提示資訊
		imageButton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				//顯示訊息提示框 
                                Toast.makeText(MainActivity.this, "進入遊戲...",Toast.LENGTH_SHORT).show();
			}
		});
	}
}

相關推薦

Android開發範例3-"同意"遊戲條款

實現遊戲開始介面中的我同意遊戲條款功能:不勾選“我同意”複選框,就不會出現“開始遊戲”的按鈕,勾選“我同意”複選框,出現“開始遊戲”的按鈕。效果圖如圖: 未點選"我同意"之前 點選“我同意”之後

Android開發範例2-實現放大鏡效果

利用之前學過的圖形影象繪畫技術和圖片新增特效技術,我們來實現一個Android放大鏡的簡單應用。最終效果如圖 具體實現: 用來顯示自定義的繪圖類的佈局檔案 res/layout/main.xml:<?xml version="1.0" encoding="utf-

Android開發範例4-猜猜寶石放在哪個箱子裡

實現"猜猜寶石放在哪個箱子"的小遊戲:主介面中有三個箱子,單擊其中任意一個箱子,將開啟箱子,顯示裡面是否有寶石,並且將沒有被單擊的箱子設為半透明顯示,被單擊的箱子正常顯示,同時根據單擊的箱子是否有寶石

Android開發範例1-詢問是否退出的對話方塊

根據之前學的Android對話方塊技術,來實現下面一個效果:介面有一個"退出"按鈕,按下之後會彈出一個詢問是否退出的提示對話方塊,單擊"不"按鈕,不退出遊戲,單擊"是的"按鈕,將退出遊戲。 接下來實現

Android開發之Fragment與Acitvity通信

對象 p s ets roi mit blog () open findview   上一篇我們講到與Fragment有關的經常使用函數,既然Fragment被稱為是“小Activity”。如今我們來講一下Fragment怎樣與Acitivity通信。

Android開發找樂,一個笑話App的制作過程記錄

override pbo rdm data root 恰恰 功能 sql htm 緣起 想做一個笑話App的原因是由於在知乎上看過一個帖子。做Android能夠有哪些數據能夠練手,裏面推薦了幾個數據開放平臺。在這些平臺中無一不是有公共的笑話接口,當時心

Android開發:在任意目錄執行NDK編譯

本文以簡單的例子講述如何在任意目錄把自己寫的C程式碼使用NDK提供的交叉編譯該工具來編譯成Android可使用的靜態庫/動態庫。 1. 準備環境 首先,你得安裝了Android的NDK編譯工具,假設你的NDK的根目錄在 /opt/android/ndk . 當然

Android開發Android 刪除指定檔案和資料夾

/** * 刪除單個檔案 * @param filePath 被刪除檔案的檔名 * @return 檔案刪除成功返回true,否則返回false */ public boolean deleteFile(String filePath) {

Android開發安卓炫酷效果集合

1. android-ripple-background 能產生波浪效果的背景圖片控制元件,可以自定義顏色,波浪擴充套件的速度,波浪的圈數。 github地址 2. android-shapeLoadingView-master 高仿新版58 載入動畫 github地址 3. Arr

Android開發URL[] 轉成 bitmap[]

public static Bitmap[] getBitmapFromURL(String[] path) throws MalformedURLException { Bitmap[] b = new Bitmap[path.length]; for (int i =

Android開發View 轉 Bitmap

public static Bitmap loadBitmapFromView(View v) { int w = v.getWidth(); int h = v.getHeight(); Bitmap bmp = Bitmap.createBitmap(w,

Android開發Bitmap的質量壓縮法

public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); //質量壓縮方法,這裡100表示不壓縮,把壓縮後的資料存放到

Android開發Coding + git命令列基本使用

上傳程式碼 進入本地倉庫的目錄。 cd ... 檢視倉庫連結 : git remote -v 如果沒有,則新增url連結 : git remote add testName https://git.coding.net/xxxx.git 將所有程式碼新增到本地

Android開發資料庫LitePal 資料庫的使用

一,導包 dependencies { ...... // LitePal的包 compile 'org.litepal.android:core:1.3.1' ...... } 二,建立bean類 public class Person extends DataSupp

Android開發資料庫Realm For Android

目錄 1、Realm簡介 2、環境配置 3、初始化Realm 4、建立實體 5、增 6、刪 7、改 8、查 9、非同步操作 10、資料庫資料更新監聽 11、json轉物件,插入資料庫 12、Demo地址 https://github.com/baitutang1221/DemoRealm-master

Android 開發: Android客戶端與服務端之間使用JSON互動資料。

    在前面的兩講中,我們講解了JSON資料格式的一些基本知識,以及做一些小Demo,這一講我們在前面的基礎上來做一個綜合的可擴充套件的Demo,主要是針對Android客戶端解析服務端傳遞過來的JSON資料。整個Demo所作的操作如下圖所示 1. 服務端    服務端

Android 開發: Android 訊息處理機制之四: Android 訊息迴圈 Looper 及其原始碼解析

  上一講我們學習Handler和Message的一些使用方式,我們知道Handler它會發送訊息和處理訊息,並且關聯一個子執行緒,如何傳送訊息入隊和出隊處理訊息等這些都是交給Looper去管理分發的,也就是它是負責整個訊息佇列運轉的一個類,這一講我們就來學習一下Andr

Android開發wifi開關與wifi連線(密碼連線)

過放蕩不羈的生活,容易得像順水推舟,但是要結識良朋益友,卻難如登天。—— 巴爾扎克 本文demo來自網路,找了好久找到的,後面自己做了些許修改,這裡對原始碼解析,愧於忘記哪裡出來了,感謝作者! 接下來就記錄一下wifi開發的一些學習心得,這邊先看幾張效果圖吧!     

Android開發listview+popupwindow實踐:日誌列表

用listview的標準形式弄一個listview出來,然後建立一個佈局item給listview,其中在adapter重寫的getview()方法中把item佈局給它。而且可以設定多個集合,在getv

Android 開發: Android 訊息處理機制之三: Handler 中 sendMessage() 原始碼剖析

  閱讀此文,請先閱讀以下相關連線: sendMessage()的幾種過載方法的使用方式的不同以及它們的原始碼的剖析.   通過前面幾講的內容,我們知道Android不但可以使用非同步任務處理多執行