关闭

在Android代码中给布局添加控件

790人阅读 评论(0) 收藏 举报

在有些app中,有些布局是不断变化的,如:有些新闻客户端上面的标题,我们可以根据自己的喜欢添加自己感兴趣的栏目。这时候,标题的布局就不能再布局文件中添加,添加以后再修改就比较困难。在代码中添加控件就比较灵活,实现如下:

我们可以给标题栏设置成线性布局,在代码给布局添加Textview,

if (cursor1.getCount()!=0){//从数据库中得到要设置的标题的名称
    line1.removeAllViews();//Linearlayout上的控件每次变化都要清空后再从新加载,否则会重复加载
    List<String> list=new ArrayList<>();
    while (cursor1.moveToNext()){
        list.add(cursor1.getString(cursor1.getColumnIndex("name")));
    }
    tv1=new TextView[list.size()];//TextView控件的数组
    for (int i = 0; i <list.size(); i++) {
        tv1[i]=new TextView(this);//初始化Textview控件,否则会包空指针错误
        tv1[i].setText(list.get(i));
        tv1[i].setId(i);//设置id
        tv1[i].setClickable(true);
        tv1[i].setTextSize(20);
        tv1[i].setTextColor(Color.rgb(0,0,0));
        tv1[i].setPaddingRelative(15,0,0,0);//设置Textview的位置距离右侧距离为15
        line1.addView(tv1[i]);//将Textview控件加载到布局中
        tv1[i].setOnClickListener(new View.OnClickListener() {//给Textview设置点击事件
            @Override
            public void onClick(View v) {

本来想在style中设置一个样式给Textview的,参考:

http://stackoverflow.com/questions/11723881/android-set-view-style-programatically/28613069#28613069

但里面的方法都用不成,不知道谁有什么方法没有。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3425次
    • 积分:97
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条