android學習筆記NO.2

Button—–按鈕

<Button 
android:"@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
/>

ImageButton—–圖片按鈕

<ImageButton 
android:id="@+id/imageButton"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:src="@drawableabc_ab_share_pack_holo_light"
/>

button可以設置文本內容的一個按鈕,
ImageButton不可以設置文本內容,background屬性和src屬性添加一個有文本內容的圖片

ImageButton是沒有text屬性的
button是沒有src屬性的!

如果在佈局文件中寫上android:text=”我是一個按鈕”,在android4.4環境中是不會看到任何效果的!

Button和ImageButton的監聽事件:

onClick事件:
兩者都有一個onClick事件
通過自身的.setOnClickListener(OnClickListener)方法添加點擊事件
2.所有的控件都有一個onClick的事件
不僅僅button和ImageButton擁有
3.通過點擊事件的監聽可以實現點擊按鈕之後要發生什麼動作!

監聽事件的幾種寫法:
1.匿名內部類的實現
2.獨立類的實現
3.實現接口的方式來實現

匿名內部類監聽按鈕點擊事件的實現步驟:
1.初始化當前所需要的空間
如何初始化一個控件?首先聲明一個:
private Button loginButton;
然後賦值:
loginButton = (Button)finViewById(R.id.button1);
默認的findViewById返回一個view對象,所以需要強制轉換
findViewById—-返回的是一個View對象。
findViewById—-是如何查找到相應的view的id;

第二步:
設置button的監聽器,通過監聽器實現我們點擊button要操作的事情

匿名內部類監聽事件:通過第一種方式實現
loginButton.setOnClickListener(new OnClickListener(){

public void onClick(View arg0){
    //在當前onClick方法中監聽點擊button的動作!
    System.out.println("我的button被點擊了!");
}

});

2.外部類的寫法*(比較少見0)

bt1.setOnClickListener(new MyOnClickListener(){
    public void onClick(View v){
        //調用父類的onClick事件
        super.onClick(v);
        Toast.makeText(MainActivity.this,"bt1要執行的邏輯",1).show();

    }

});
//OnClickListener 是一個接口,所以不能用繼承實現
class MyOnClickListener implements OnClickListener{
    public void onClick(View v){
        Log.i("tag","父類的OnClick事件");
        //讓所有使用當前外部類的點擊事件的按鈕都要做出一個動作,eg,改變button的透明度
        v.setAlpha(0.5f);//0不顯示,1完全顯示setAlpha 改變透明度
    }
}

3.通過接口方式實現監聽事件

public class MainActivity extends Activity implements OnClickListener{
    。。。
    private ImageButton imgBt;
    imgBt.setOnClickListener(this);
    。。。
}


public void onClick)(View v){
    Log.i("tag","第三種方式實現");
}

小項目:使用TextView 來實現跑馬燈效果!

只有簡單要求一個跑馬燈效果的時候,可以僅僅通過三條語句來實現:
android:ellipsize=”marquee”
android:focusable=”true”
android:focusableInTouchMode=”true”

通常使用單位做符號時,單位有三種 px,dp或者是dip,sp

1.通常在軟件開發中不建議使用px,因爲px不能根據分辨率進行一個等比的縮放!只能是固定值,跟屏幕分辨率分離開了!
2.dp或者是dip一般在控件中,做長度大小的限制時,推薦使用的!
3.sp和dp 一樣都可以根據分辨率來進行一個分辨率的顯示,但是sp更多的是用來推薦使用文字size的時候來進行使用!
目前安卓最近的sdk推薦用戶使用的是dp而不是dip。
開發的時候儘量在控件,layout固定的size的時候,使用dp

AutoCompleteTextView

1.功能:
動態匹配輸入的內容,如百度搜索引擎當輸入文本時,可以根據內容顯示匹配的熱門信息。

2.獨特屬性:
android:completionThreshold=”2”
—-設置輸入多少字符時自動匹配

發佈了305 篇原創文章 · 獲贊 11 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章