Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每个孩子的android ListView大小_Android_Listview - Fatal编程技术网

每个孩子的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;
    }