android - 在 ListView 中居中文本

标签 android listview layout

我发现无法在我的 ListView 中将文本居中,几乎所有内容都尝试了 wrap_content 和 layout_gravity=center 验证文本不会移动

这是我的类 agenceEco

package com.blabla;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;

import android.app.ListActivity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.*;


public class agenceEco extends Activity {

    ListView myList;


    String[] listContent = {

            "January",

            "February",

            "March",

            "April",

            "May",

            "June",

            "July",

            "August",

            "September",

            "October",

            "November",

            "December"

    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.agence);
        myList = (ListView)findViewById(R.id.liste_agences);



        ArrayAdapter<String> adapter

                = new ArrayAdapter<String>(this,

                R.layout.simple_list_item,

                listContent);

        myList.setAdapter(adapter);


        myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {
                String selectedFromList = (String)(myList.getItemAtPosition(myItemInt));
                Toast.makeText(getBaseContext(),selectedFromList,Toast.LENGTH_SHORT).show();

            }
        });
    }




}

这里是simple_list_item.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/text1"
          android:paddingTop="10dip"
          android:paddingBottom="10dip"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:textColor="@color/black"
          android:background="@color/white"
          android:gravity="center"
        />

这是 agence.xml

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              android:background="@color/white"
              android:layout_gravity="center_horizontal">
    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:background="@color/black">

        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:textColor="@color/white"
                  android:text=" "
                  android:layout_gravity="center"

                />
        <TextView android:id="@+id/txt_date"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:textColor="@color/white"
                  android:text="Choix de l'agence"
                  android:layout_gravity="center"
                  android:textStyle="bold"
                />
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:textColor="@color/black"
                  android:text=" "
                  android:layout_gravity="center"

                />
    </LinearLayout>
    <TextView android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textColor="@color/black"
              android:text=" "
              android:layout_gravity="center"

            />
    <ListView android:id="@+id/liste_agences"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:background="@color/white"
              android:layout_gravity="center_horizontal"

            ></ListView>


</LinearLayout>

最佳答案

android:layout_gravity="center" 向 textview 的父级指示它应该如何放置。这不是您想要的,因为 ListView 会忽略该属性。将其替换为 android:gravity="center"。这告诉 TextView 如何对齐其中的文本,在本例中将其居中。

尽管 (因为文本将匹配 View 的大小,所以对齐不会有太大变化),当您的 TextView 没有填满整个空间时,这将不起作用。由于每个条目中只有一个 TextView ,因此将 android:layout_widthandroid:layout_height 都设置为 fill_parent 是有意义的。


<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/text1"
          android:paddingTop="10dip"
          android:paddingBottom="10dip"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:textColor="#ff000000"
          android:background="#ffffffff"
          android:gravity="center"
        />

关于android - 在 ListView 中居中文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9483788/

相关文章:

android - 在 Android 上长按 GoogleMap 的 InfoWindow

android - android中的Sqlite更改数据类型

android - Xamarin 表单标签新行

java - 在 CustomAdapter 内调用 BaseAdapter 的 notificationDataSetChanged() 不刷新 ListView

html - 设置 HTML 输入的默认语言

android - 如何检测 Android 屏幕上的手压

c# - ListViewColumnSorter 导致在 C# 中添加 listView 项时出现性能问题?

javascript - 调整容器分区大小时,css float 布局不移动

html - 打开后,网站快速向左移动?

.net - WinForms ListView : How to specify width of a ListViewItem when there are columns but in View. 列表显示模式?