android - 如何在Listview中设置按钮参数

时间:2012-07-11 12:38:07

标签: android android-listview

我在程序上添加了Button列表视图的页脚视图。现在我想设置按钮的参数并将按钮重力设置为中心垂直。我用以下方式做了但是它没有用。如何实现呢?

    btnMoreUpcomingExits = new Button(this);
    btnMoreUpcomingExits.setText("More Upcoming Exits");
    btnMoreUpcomingExits.setBackgroundResource(R.layout.moreupebtn_widget);
    btnMoreUpcomingExits.setLayoutParams(new ListView.LayoutParams(ListView.LayoutParams.WRAP_CONTENT, ListView.LayoutParams.WRAP_CONTENT));
    btnMoreUpcomingExits.setTextColor(Color.WHITE);
    btnMoreUpcomingExits.setTypeface(null, Typeface.BOLD);
    btnMoreUpcomingExits.setGravity(Gravity.CENTER_HORIZONTAL);
    btnMoreUpcomingExits.setOnClickListener(btnMoreUpcomingExitsListener);
    getListView().addFooterView(btnMoreUpcomingExits); 
    setListAdapter(new UpcomingExitsResultsListViewAdapter(this));    

3 个答案:

答案 0 :(得分:0)

你目前有

btnMoreUpcomingExits.setGravity(Gravity.CENTER_HORIZONTAL);

我认为这是一种疏忽,你的意思是CENTER_VERTICAL?这将垂直对齐按钮内的文本,它应该已经在做,所以你的问题似乎令人困惑。您是在考虑如何垂直对齐按钮本身吗?如果需要,您需要在父按钮上设置重力。

至于params,你已经设置了布局参数。你还想做什么?您的目标应该是在问题中更具体,以便更容易确定您要做的事情。

答案 1 :(得分:0)

检查一下这可能对你有帮助。

Check this link

您可以使用WindowManager.LayoutParamsbutton中设置listview的属性。

答案 2 :(得分:0)

试试这个:

            LinearLayout layout=new LinearLayout(getApplicationContext());
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
            layout.setOrientation(LinearLayout.VERTICAL);
            btnMoreUpcomingExits = new Button(this);
            btnMoreUpcomingExits.setText("More Upcoming Exits");
            btnMoreUpcomingExits.setBackgroundResource(R.layout.moreupebtn_widget);
            btnMoreUpcomingExits.setLayoutParams(params);
            btnMoreUpcomingExits.setTextColor(Color.WHITE);
            btnMoreUpcomingExits.setTypeface(null, Typeface.BOLD);
            btnMoreUpcomingExits.setGravity(Gravity.CENTER_HORIZONTAL);
            layout.addView(btnMoreUpcomingExits);
            btnMoreUpcomingExits.setOnClickListener(btnMoreUpcomingExitsListener);
            getListView().addFooterView(btnMoreUpcomingExits); 
            setListAdapter(new UpcomingExitsResultsListViewAdapter(this));