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

Sor*_*ren 21 java eclipse android listview

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

这是我目前在main.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"/>
Run Code Online (Sandbox Code Playgroud)

这是我的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);
    }

}
Run Code Online (Sandbox Code Playgroud)

She*_*ouk 58

进入布局创建一个名为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" /> 
Run Code Online (Sandbox Code Playgroud)

现在在代码中

        adapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,HistoryList);
Run Code Online (Sandbox Code Playgroud)

改为

        adapter = new ArrayAdapter<String> (this,R.layout.mylist,HistoryList);
Run Code Online (Sandbox Code Playgroud)


yan*_*nko 28

2种方法:

  1. simple_list_item_1.xml从Android源复制,修改然后再使用它android.R.layout.simple_list_item_1;
  2. BaseAdaptergetView(..)通话中使用和修改字体大小.

我建议你选择后者.

  • 这是一个不完整的答案.没有提到要调用的方法(setTextSize); 适配器中的View对象是ListView对象,而不是与之关联的TextView; 因此'setTextSize'不是针对该视图的方法; 如果你想出来并对视图调用'findViewById'你必须得到相关的TextView,当你尝试使用"android.R.layout.simple_list_item_1"作为id时,它会显示错误;等等.不知道为什么这个答案被选中或投票,因为它需要十几个后续问题来实际获得一些工作. (2认同)

小智 6

请创建另一个名为list_item.xml的文件

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:padding="6dp"
    android:textSize="21sp">
Run Code Online (Sandbox Code Playgroud)