在 ListView 中更改字体大小 - Android/Eclipse

2022-09-02 02:10:28

如何更改 ListView 元素中的字体大小?在我的主.xml文件中,我尝试了几个不同的值来表示android:textSize(pt,px,sp,dp),似乎没有什么可以改变它。

以下是我目前在主要.xml中所拥有的内容:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/list"
    android:textColor="#ffffff"
    android:background="#000080" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:dividerHeight="1px"
    android:layout_marginTop="5px" 
    android:textSize="8px"/>

这是我的Java:

package com.SorenWinslow.TriumphHistory;

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class TriumphHistory extends ListActivity {
    String[] HistoryList;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ArrayAdapter<String> adapter;
        HistoryList = getResources().getStringArray(R.array.history);
        adapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,HistoryList);
        setListAdapter(adapter);
    }

}

答案 1

进入布局,创建一个名为 mylist 的新 xml 文件.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
 android:id="@android:id/text1"  
        android:paddingTop="2dip" 
        android:paddingBottom="3dip" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

现在在代码中

        adapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,HistoryList);

将其更改为

        adapter = new ArrayAdapter<String> (this,R.layout.mylist,HistoryList);

答案 2

2种方式:

  1. 从Android源代码复制,修改它,然后使用它而不是simple_list_item_1.xmlandroid.R.layout.simple_list_item_1;
  2. 在调用中使用和修改字体大小。BaseAdaptergetView(..)

我建议你选择后者。


推荐