0

关于我的android代码上带有滚动视图的布局,我有这个小问题

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.view.Menu;
import android.view.ViewGroup.LayoutParams;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.ScrollView;

public class ScheduleList extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().getDecorView().setBackgroundColor(Color.BLACK);
    setTheme(R.style.DefaultForm);
    ScrollView sv = new ScrollView(this);
    ListView lv = new ListView(this);
    String data[] = { "Android", "iPhone", "BlackBerry", "AndroidPeople" };
    ArrayAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, data);
    lv.setAdapter(adapter);
    sv.addView(lv);
    sv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    setContentView(sv);
}
}

这就是我得到的 结果图像

如何调整此 ScrollView 的大小以匹配我的活动表单的高度,我确实更改了 LayoutParams.FILL_PARENT 以及 setLayoutParams 上的 LayoutParams.WRAP_CONTENT 但它不起作用。

4

1 回答 1

0

执行 :

 sv.addView(lv);
 sv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));

onCreate()构造函数之外! 因为视图还没有完成创建并且视图不知道元素的大小!

例如,如果您尝试打印sv.getWidth(),则该方法将在构造函数中返回 0 ,或者如果调用在外部,则返回正确的大小!onCreate()

于 2013-04-24T11:05:05.390 回答