第一行代碼Android-------第二章控制項部分

來源:互聯網
上載者:User

標籤:四種   展示   adapter   listener   nbsp   ret   引入   提示   progress   

一、控制項

1、大小

    match_parenr:與父布局大小一樣

    fill_parent:與match_parent一樣

    wrap_content:控制項大小剛好包住裡面內容

 

2、TextView   在介面上顯示一段文字

        android:text = "顯示的文字"

        android:gravity:"文字對齊" //可選值有top、bottom、right、center,可以用|來指定多個值

        android:textSize:文字大小

        android:textColor :文字顏色

3、Button 按鈕

        android:text:顯示文字

        android:textAllCaps:大小寫轉換禁用、預設全部轉換為大寫

        註冊監聽器

          button.setOnClickListener(new View.OnClickListener(){

              public void onClick(View v){}

              })  

4、EditText 輸入和編輯內容

        android:hint="提示輸入的內容"

        android:maxLines="最多輸入行數"

5、ImageView 展示圖片

        android:src="@drawable/圖片"

        更改圖片內容

        image.setImageResource();

6、progressBar 進度條

        android:visibility=“是否可見”、 visibility 可見  invisible隱藏 gone 完全不可見 且不佔據空間

        修改樣式

            style:"?android:attr/progressBarStyleHorizontal"//水平進度條

 

        設定可見度

          setVisibility(VIew.VISIABLE);//View.INVISIBLE,View.GONE;

7、AlterDialog

    彈出對話方塊

8、ProgressDialog

二、四種布局

  1、LinearLayout線性布局

    android:orientation 方向

    android:layout_gravity=布局中位置

    android:layout_weight=控制項大小比例

  2、RelativeLayout 相對布局

  3、FrameLayout 幀布局

  4、百分比布局

三、自訂控制項

  1、建立布局

    建立layout.xml檔案

  2、在mainlayout.xml檔案中引入布局檔案

    <include layout="layout.xml">

  3、編寫事件

    LayoutInflater.from(Context).inflater(R.layout.XXX,this);

  4、或者在布局檔案中引入自訂控制項事件檔案

      <packagename.activityfile

      android:layout_width=""

      android:layout_height=""/>

四、ListView 用於展示大量資料

  1、編寫布局檔案及展示的布局檔案

       <ListView

        andriod:id=

        andrioid:layout_width=""

        andriod:layout_height="">

  2、建立展示的類

    class Fruit{}

  3、重寫適配器Adapter

    public class FruitAdapter extends ArrayAdapter<Fruit>{

      private int resourceId;

      public FruitAdapter(Context context,int textViewResourceId,List<Fruit>objects){

        super(context,textViewResource,objects);

        resourceId = textViewResourceId;

      }

      public View getView(int position,View convertView,ViewGroup parent){

        Fruit fruit = getItem(position);

        View view = LayoutInflater.from(getcontext()).inflate(resourceId,parent,flase);

        TextView textview =view.findViewById(R.id.textview);

        return view;

      }

  4、修改mainActivity

     FruitAdapter fruitadapter = new FruitAdapter(MainActivity.this,R.layout.fruit_item,fruitlist);//展示的上下文,layout布局,展示的資料list

     ListView listview = findViewById(R.id.list_view);

     listview.setAdapter(adapter);

  5、最佳化

       1.converView,將之前載入好的布局進行緩衝,以便之後可以複用

        if(convertView == null){

          view = LayoutInflater.from(getContext()).inflater(resourceId,parent,false);

          }else{

          view = convertView;

          }

       2、建立viewHolder內部類,對控制項執行個體進行緩衝,從而只擷取一次布局執行個體

 

}

五、RecyclerView  對ListView進行最佳化

   1、引入

     在build.gradle中dependence中添加

        implement ‘com.android.support:recyclerview-v7:24.2.1‘

     之後sync now進行同步

  2、使用 在layout檔案中

    <android.support.v7.widget.RecyclerView

    android:id="@+id/"

    android:layout_wight=" "

    android:layout_height=""  />

  3、建立適配器

    public class  FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder>{

      static   class ViewHolder extneds Recycler.ViewHolder{  }; // viewHolder 內部類

      public FruitAdapter (){ }; //建構函式

      public ViewHolder onCreateViewHolder(ViewGroup parent,int position){

        View view = LayoutInflate.from(parent.getContext()).inflate(R.layour.fruit_layout,parent,false);

        ViewHolder viewholder = new ViewHolder(view);

        return viewholder;

      }

      public viod onBindViewHolder(ViewHolder holder ,int position){

        Fruit fruit  = furitlist.get(position);

        holder.fruitImage.setImageREsource(fruit.getImageId());

        holder.fruitname.setText(fruit.getname());

      }

      public int getItemCount(){

        return fruitlist.size();

      }

      }

     4、修改mainActivity

      RecyclerView recyclerview = (RecyclerView)findViewById(R.layout.id.recyclerview);

      LinerLayoutManager layoutmanage = new LinerLayoutManager(this);

      recycleView.setLayoutManager(layoutManager);

      FruitAdapter adapter = new FruitADapter(fruitlist);

      recyclerView.setAdapter(adapter);

 

第一行代碼Android-------第二章控制項部分

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.