gpt4 book ai didi

java - 在 Android 中,如何设置 ListView 项目的高度和宽度?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:35:24 26 4
gpt4 key购买 nike

我想创建一个界面,其中包含一个或两个 ListView ,最终以两行横跨整个屏幕。我如何更改它们的高度,以便它们在垂直方向上占据屏幕的 50%?

如果它沿着相同的路线,我很想知道无论方向如何都可以做到这一点。

关于宽度;假设我有两个 ListView ,每个 ListView 有一行。如上所述,它们跨越整个屏幕。下方的 ListView 中有两个可点击的项目,每个项目占据 50% 的屏幕空间,水平

这可能吗?如果是,怎么办?

最佳答案

您好,以下代码将使用 full 创建一个界面,该界面具有一个或两个 ListView ,最终跨越整个屏幕两行。 Java文件如下,

public class DoubleListView extends Activity {
ListView listView,listView2;
String[] titles = {"List 1 title1","List 1 title2","List 1 title3","List 1 title4","List 1 title5","List 1 title6","List 1 title7","List 1 title8","List 1 title9"};
String[] titles2 = {"List 2 title1","List 2 title2","List 2 title3","List 2 title4","List 2 title5","List 2 title6","List 2 title7","List 2 title8","List 2 title9"};
WindowManager wm;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
int height = wm.getDefaultDisplay().getHeight();

listView = new ListView(this);
listView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,height/2-15));
listView.setAdapter(new CustomListAdapetr(this, titles));

listView2 = new ListView(this);
listView2.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,height/2));
listView2.setAdapter(new CustomListAdapetr(this, titles2));

((LinearLayout)findViewById(R.id.mailLayout)).addView(listView);
((LinearLayout)findViewById(R.id.mailLayout)).addView(listView2);

}
public class CustomListAdapetr extends BaseAdapter{

private Context mContext;
private String[] list;

public CustomListAdapetr(Context context, String[] titles) {
mContext = context;
list = titles;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return list.length;
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list[position];
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
CustomView cv;
if (convertView == null) {
cv = new CustomView(mContext,""+list[position]);
}
else {
cv = (CustomView) convertView;

cv.setTitle(list[position]);

}
return cv;
}

}

private class CustomView extends LinearLayout {
public CustomView(Context context, String itemName) {
super(context);
this.setOrientation(HORIZONTAL);
// Here we build the child views in code. They could also have
// been specified in an XML file.


mTitle = new TextView(context);
mTitle.setText(itemName);

mTitle.setTextSize(25);

addView(mTitle, new LinearLayout.LayoutParams(200, LayoutParams.WRAP_CONTENT));


}
/** * Convenience method to set the title of a SpeechView */
public void setTitle(String title) {
mTitle.setText(title);
}
/** * Convenience method to set the dialogue of a SpeechView */

private TextView mTitle;

}

}

xml文件是,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mailLayout">

</LinearLayout>

试试这个以获得你想要的界面。

关于java - 在 Android 中,如何设置 ListView 项目的高度和宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3210337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com