web-dev-qa-db-ja.com

ListViewでフォントサイズを変更する-Android / Eclipse

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"/>

これが私の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);
    }

}
21
Soren

2つの方法:

  1. _simple_list_item_1.xml_をAndroidソースからコピーして変更し、_Android.R.layout.simple_list_item_1_の代わりに使用します。
  2. BaseAdapterを使用し、getView(..)呼び出しでフォントサイズを変更します。

後者をお勧めします。

27
yanchenko

レイアウトに入り、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);
57
Shereef Marzouk

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">
6
Zou

リスト行にあるテキスト用に別のxmlファイルを作成します。

textView:DにAndroid:layout_height = "?android:attr/listPreferredItemHeight"を追加するだけです(線形レイアウトではなく相対レイアウトで配置します)

そして、setContentView(R.layout.listview)に以前のListView xmlを使用します

およびArrayAdapterコードの他のxmlファイル

ArrayAdapter adapter = new ArrayAdapter(this、R.layout.yoursecondLayoutforthelistswithText、R.id.titles、HistoryList)

r.id.titlesはTextViewのIDです

0
Vasile Surdu