我发现无法将文本集中在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();
}
});
}
}
Heres 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>
答案 0 :(得分:10)
android:layout_gravity="center"
向textview的父级指示应该如何放置它。这不是您想要的,因为ListView忽略该属性。将其替换为android:gravity="center"
。这告诉TextView如何对齐其中的文本,在这种情况下居中它。
当你的textview没有填充整个空间时,这将不起作用(因为文本将匹配视图的大小,因此对齐不会发生太大变化)。由于每个条目中只有一个文本视图,因此将android:layout_width
和android: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"
/>
答案 1 :(得分:0)
尝试使用此android:layout_centerhorizontal="true"
代替文字视图中的android:layout_gravity="center"