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

Posted

技术标签:

【中文标题】如何在 ListView android 应用程序的中心设置文本?【英文标题】:How to set the text at center in ListView android application? 【发布时间】:2012-02-13 19:34:57 【问题描述】:

我在我的应用程序中实现了一个 ListView 上的应用程序,我使用了 getListView() 方法。我编写的代码如下:

   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 方法中编写上述代码时,我可以显示带有一些文本的列表。 从上面的代码中,我想在列表的中心显示文本,并以颜色显示文本。

【问题讨论】:

只需在您的列表视图中使用android:layoutGravity="center"。但是,在这里您使用的是 android 默认的列表视图。尝试使用您自己的列表视图而不是android.R.layout.simple_list_item_1 【参考方案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_
    android:layout_
    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);

【讨论】:

工作出色,我发现只有一件事是在 Android Studio 中,“设计”不会显示这些更改 - 但是当您使用模拟器时可以看到它们。【参考方案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);

【讨论】:

【参考方案3】:

你应该给出ArrayAdaptergetView函数的代码或R.layout.simple_list_item_1的XML,这通常是设置listview项样式的地方

【讨论】:

以上是关于如何在 ListView android 应用程序的中心设置文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中的一行ListView中显示ViewPager

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

如何在Android ListView中为菜单项创建图标?

Android:如何像在联系人应用程序中一样使用字母索引器和快速滚动填充 ListView。

android如何使用listview而不是scrollview

如何在 android studio 的弹出窗口内添加滚动的 listView?