Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android實戰--第四十四話《ScrollView和HorizontalScrollView簡單使用》

Android實戰--第四十四話《ScrollView和HorizontalScrollView簡單使用》

編輯:關於Android編程

一、ScrollView

由於手機屏幕的高度有限,當普通布局放不下現實和的內容時,ScrollView視圖(滾動視圖)就會派上用場,因為數據可以往下滾動顯示。

二、HorizontalScrollView

看名稱就清楚,當想在水平方向想放置更多的空間,屏幕寬度放不下的時候,它就派上用場了。因為用法非常簡單,跟ScrollView一樣只不過是個父容器,所以我結合上面的案例,把HorizontalScrollView放到了ScrollView裡面。這樣通過一個案例,同時學習了兩個組件的使用,機智如我~

為了程序的可讀性,直接上完整代碼了:

總布局:

 




    

        

        

            
            
        
    
    


因為我要在HorizontalScrollView的基礎上,繼續嵌套控件,因此定義了一個item的布局:activity_index_gallery_item.xml

 

 




    

    

最後活動中的代碼。稍作修改:

 

 

package com.example.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
  
public class MainActivity extends Activity {  
	
    String str[] = { "1", "2", "3", "4", "5", "6", "7", "8", };  
    private int[] images = {R.drawable.home01,R.drawable.home02,R.drawable.home03,R.drawable.home04};
  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState); 
        super.setContentView(R.layout.activity_main); 
        //初始設置按鈕
        initBtn();  
        //初始設置HorizontalScrollView
        initHorizontalScrollView();
        
    }
    
	private void initBtn() {
		//拿到線性布局容器
        LinearLayout linear = (LinearLayout) super.findViewById(R.id.mylinear);// 取得組件  
        //設置按鈕的大小參數
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(  
                ViewGroup.LayoutParams.MATCH_PARENT,  
                ViewGroup.LayoutParams.WRAP_CONTENT);// 定義按鈕的布局參數  ,寬度充滿父容器,高度包裹內容
        for (int i = 0; i < str.length; i++) {  
        	//動態添加按鈕
            Button btn = new Button(this);// 創建按鈕組件  
            btn.setText(this.str[i]);// 設置文本  
            //給每個按鈕都設置id編號(可通過btn.getId()獲取對應的id編號)
            btn.setId(i);  
            //參數設置給按鈕
            btn.setLayoutParams(params);
            linear.addView(btn);// 線性布局增加孩子組件  
            btn.setOnClickListener(new OnClickListenerImpl());  
        }
	}  
	
	private void initHorizontalScrollView() {
		//HorizontalScrollView的孩子容器
		LinearLayout mGallery = (LinearLayout) findViewById(R.id.id_gallery);  
		  
		//給孩子容器添加控件
        for (int i = 0; i < images.length; i++) {  
  
        	//控件以布局的形式引入
            View view = View.inflate(this, R.layout.activity_index_gallery_item, null);  
            //設置圖片資源數據
            ImageView img = (ImageView) view  
                    .findViewById(R.id.id_index_gallery_item_image);// 找到顯示圖片的控件  
            img.setImageResource(images[i]);  
            img.setId(i);  
            TextView txt = (TextView) view  
                    .findViewById(R.id.id_index_gallery_item_text);  
            txt.setText("我是圖片"+i);  
  
            mGallery.addView(view);  
  
        }  
	}

    private class OnClickListenerImpl implements OnClickListener {  
  
        public void onClick(View v) {  
            switch (v.getId()) {  
            case 0:  
                Toast.makeText(MainActivity.this, "您選擇了按鈕1!", Toast.LENGTH_SHORT)  
                        .show();  
                break;  
            case 1:  
                Toast.makeText(MainActivity.this, "您選擇了按鈕2!", Toast.LENGTH_SHORT)  
                        .show();  
                break;  
            case 2:  
                Toast.makeText(MainActivity.this, "您選擇了按鈕3!", Toast.LENGTH_SHORT)  
                        .show();  
                break;  
            case 3:  
                Toast.makeText(MainActivity.this, "您選擇了按鈕4!", Toast.LENGTH_SHORT)  
                        .show();  
                break;  
            case 4:  
                Toast.makeText(MainActivity.this, "您選擇了按鈕5!", Toast.LENGTH_SHORT)  
                        .show();  
                break;  
            case 5:  
                Toast.makeText(MainActivity.this, "您選擇了按鈕6!", Toast.LENGTH_SHORT)  
                        .show();  
                break;  
            case 6:  
                Toast.makeText(MainActivity.this, "您選擇了按鈕7!", Toast.LENGTH_SHORT)  
                        .show();  
                break;  
            case 7:  
                Toast.makeText(MainActivity.this, "您選擇了按鈕8!", Toast.LENGTH_SHORT)  
                        .show();  
                break;  
  
            default:  
                break;  
            }  
  
        }  
  
    }  
}  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved