使用java代碼添加控件


平時多習慣於采用xml文件來添加布局和控件,采用java代碼在activity中添加控件也是一種方式,下面簡單舉兩個例子:

1、addContentView

addContentView作用類似於setContentView()來為activity初始化布局:

 1 public class MainActivity extends Activity {
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         //setContentView(R.layout.activity_main);
 7         TextView tv=new TextView(getApplicationContext());
 8         tv.setText("hello world1");
 9         tv.setBackgroundColor(Color.GRAY);
10         tv.setGravity(Gravity.CENTER);
11         int x=LayoutParams.MATCH_PARENT;
12         int y=LayoutParams.WRAP_CONTENT;
13         LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(x,y);
14         this.addContentView(tv, params);
15         
16         
17     }
18 }

在java代碼中添加控件同樣可以設置各種屬性,如例中setText,setBackgroundColor等。效果:

2、addView

addView在父控件的基礎上添加子控件,作用類似於在xml文件中添加一個控件:

public class addViewActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
        TextView tv = new TextView(getApplicationContext());
        tv.setText("hello world2");
        tv.setBackgroundColor(Color.GRAY);
        tv.setGravity(Gravity.CENTER);

        ll.addView(tv);

    }

}

xml文件:

1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2     xmlns:tools="http://schemas.android.com/tools"
3     android:id="@+id/ll"
4     android:layout_width="match_parent"
5     android:layout_height="wrap_content"
6     android:orientation="vertical" >
7 
8 </LinearLayout>

同樣可以添加控件的各種屬性。效果:

 

 

 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM