每个孩子的android ListView大小
我正在使用自定义适配器填充每个孩子的android ListView大小,android,listview,Android,Listview,我正在使用自定义适配器填充列表视图,因为我需要对发送过来的每个文本视图进行一些特殊格式化。问题是,无论我将每个TextView的textSize设置得多么小,它们在列表中的间距都与图中所示的相同 我希望缩小这些视图之间的间距。这是我的getView()方法 编辑1: 实际上我想要的是“蓝色”和“绿色”应该更接近。我想缩小它们之间的间距 编辑2: xml: 此问题是由以下行引起的: textView.setGravity(Gravity.CENTER); 顺便问一下,你到底需要什么?你能给我详
列表视图
,因为我需要对发送过来的每个文本视图进行一些特殊格式化。问题是,无论我将每个TextView的textSize设置得多么小,它们在列表中的间距都与图中所示的相同
我希望缩小这些视图之间的间距。这是我的getView()方法
编辑1:
实际上我想要的是“蓝色”和“绿色”应该更接近。我想缩小它们之间的间距
编辑2:
xml:
此问题是由以下行引起的:
textView.setGravity(Gravity.CENTER);
顺便问一下,你到底需要什么?你能给我详细解释一下吗?正如jyotiprakash提到的,它可能需要对你正在尝试做的事情给出更详细的描述 然而,从我所看到的情况来看,你正试图设定利润率。如果是这样的话,我会用下面的方法来做
.....
View someView = ((LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.yourViewLayout, null, false);
final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(4, 15, 4, 0);
//Now you can use your view to set the layout params
someView.setLayoutParams(layoutParams);
现在,该视图的边距将与上面定义的布局参数一致。。。问题是,我使用默认布局android.R.layout.simple_list_item_1为ListView的行生成视图。此布局使用文本外观“?android:attr/textAppearanceLarge”。我不知道这设置了什么样的填充/边距,但无论我在适配器中做了什么,间距都没有减小 所以我做的是在res/layout中创建了一个名为“row.xml”的自定义xml布局,并在其中放置了一个简单的文本视图。我用这个布局在我的ListView中膨胀行,空间就消失了。以下是构造函数的代码:
public ColoredAdapter(Context context, ArrayList<ColorElement> values) {
super(context, R.layout.row, values);
this.context = context;
this.values = values;
}
public ColoredAdapter(上下文、ArrayList值){
super(上下文、R.layout.row、值);
this.context=上下文;
这个值=值;
}
在上面发布的图像中,文本大小看起来都一样。另外,发布xml文件也会很有帮助。整个xml文件相当大,所以我在listView部分中添加了@prolink007请参见编辑尝试将行的布局高度设置为换行内容。我只是用xml做的,所以在你的例子中,我不知道,但这可以是一个开始。。我不知道怎样才能进一步解释它。但是让我试试。。。正如你在我发布的图片中所看到的,第一个文本是“蓝色”,然后是大量的空间,然后是分隔符,在另一个大量的空间之后是文本“绿色”。我想减少每个文本视图和分隔符之间的空间量。
.....
View someView = ((LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.yourViewLayout, null, false);
final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(4, 15, 4, 0);
//Now you can use your view to set the layout params
someView.setLayoutParams(layoutParams);
public ColoredAdapter(Context context, ArrayList<ColorElement> values) {
super(context, R.layout.row, values);
this.context = context;
this.values = values;
}