如何设置在中心的ListView android应用的文本?如何设置在中心的ListView and

2019-05-12 05:59发布

我已经实现在ListView控件的应用程序在我的应用我已经使用getListView()method.I已经写代码如下:

   String[] conversionsadd = getResources().getStringArray(R.array.conversions);
   setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,conversionsadd));
   getListView().setTextFilterEnabled(true);
   getListView().setBackgroundResource(R.drawable.listback2);

当我写在onCreate方法上面的代码,我可以能够显示一些文本列表。 从上面的代码我想显示在列表中的中央的文字,并且还显示在彩色文本。

Answer 1:

您正在使用内置的布局是

android.R.layout.simple_list_item_1

这种布局不能更改。 然而,你可以提供自己的行布局。

你行应该是这样的:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1" 
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:layout_width="fill_parent"
    android:textSize="20sp"
    android:paddingLeft="6dip"
    android:paddingRight="6dip"
    android:gravity="center" />

记住,ID应该是唯一的android:id="@android:id/text1"

现在你可以给你的ArrayAdapter的构造给这个:

ArrayAdapter<String>(this,R.layout.my_custom_layout,conversionsadd);


Answer 2:

我因此未尝试,但我认为,在适配器方法覆盖getView,并执行以下操作:

String[] conversionsadd = getResources().getStringArray(R.array.conversions);
   setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,conversionsadd)
{
    public View getView(AdapterView adapterView, View convertView, int position, long id)
    {

         View view=super.getView(adapterView, convertView, position, id);
         TextView txt=view.findViewById(android.R.id.textView1);
         txt.setGravity(Gravity.CENTER);

         return view;
    }
});
   getListView().setTextFilterEnabled(true);
   getListView().setBackgroundResource(R.drawable.listback2);


Answer 3:

你应该给的代码getView的功能ArrayAdapter或XML R.layout.simple_list_item_1 ,这通常是在ListView项的样式设置



文章来源: How to set the text at center in ListView android application?