1. 程式人生 > >java動態新增view

java動態新增view

一般情況下,我們大部分人都是在XML檔案直接寫佈局,可是有些時候需要用程式碼動態添加布局,比如我昨天做一個viewpager的頁數的顯示,當沒有內容是把textView給clear掉,有內容是用java程式碼動態新增。

1.編寫程式碼,生成view,新增到linearLayout內。

mTextView=new TextView(mActivity);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(60, 30);
mTextView.setLayoutParams(layoutParams);
mTextView
.setTextColor(Color.parseColor("#03A9F4")); mTextView.setVisibility(View.GONE); dotsLinearLayout.addView(mTextView);

2.根據viewpager的頁數變化顯示textView

public void setCurrentNumber(int number){

   boolean isContain=false;
for(int i=0;i<dotsLinearLayout.getChildCount();i++){
      View v=dotsLinearLayout
.getChildAt(i); if (v instanceof TextView){ isContain=true; } } if (isContain == false){ setMTextView(); } if (myViewPagerAdapter!=null){ int current=number+myViewPager.getCurrentItem()*4; mTextView.setText(current+"/"+myViewPagerAdapter.getCount()*4); mTextView.setVisibility(View
.VISIBLE); for (int i = 0; i < dotViews.size(); i++) { dotViews.get(i).setVisibility(View.GONE); } } }

其中for迴圈是判斷linearlayout內是否存在textView,不存在則建立textView,然後就可以動態改變textView的資料了。