如何更改listview的文本大小

时间:2013-12-08 17:18:34

标签: android android-layout android-listview

我正在使用List Activity从SQLITE中检索数据。但我无法设置列表视图的字体大小。请帮帮我。

public class CartList extends ListActivity {
    private ArrayList<String> results = new ArrayList<String>();
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(com.example.easyshopping.R.layout.cart);
        openAndQueryDatabase();
        displayResultList();
    }
    private void displayResultList() {
        setListAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, results));
        getListView().setTextFilterEnabled(true);   }
        private void openAndQueryDatabase() {
        try {
            SQLiteDatabase database = openOrCreateDatabase("ORCL", MODE_PRIVATE, null);
            Cursor c = database.rawQuery("SELECT title,qty,price FROM CART;", null);
                         if (c != null ) {
                int totalPrice=0;
                if  (c.moveToFirst()) {
                    do {
                        String title = c.getString(c.getColumnIndex("title"));
                        int qty = c.getInt(c.getColumnIndex("qty"));
                        int price = c.getInt(c.getColumnIndex("price"));
                        int pricePerTitle=price*qty;
                        results.add("Title: " + title + ",  Quantity: " + qty+",  Price: $"+pricePerTitle);
                        totalPrice=totalPrice+pricePerTitle;
                    }while (c.moveToNext());
                }
               TextView tTotalPrice=(TextView)findViewById(com.example.easyshopping.R.id.txttotalprice);
                String total= Integer.toString(totalPrice);
               tTotalPrice.setText(total);
            }
        } catch (SQLiteException se ) {
            Log.e(getClass().getSimpleName(), "Could not create or Open the database");
        }

    }

cart.xml

LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center" android:layout_gravity="center">
        <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/shoppinglist"

                ></ImageView>

            </RelativeLayout>

    <ListView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@android:id/list"
            ></ListView>

    <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center" android:layout_gravity="center" >
       <TextView
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="Total Price is:$ "
               android:textColor="#f3f607"
               android:textSize="10dp"
               android:id="@+id/txttotal"
               ></TextView>
        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#f3f607"
                android:textSize="10dp"
                android:layout_toRightOf="@+id/txttotal"
               android:id="@+id/txttotalprice"></TextView>
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="send your Shopping List."
                android:textSize="12dp"
                android:id="@+id/cartButton"
                android:layout_below="@+id/txttotal"></Button>

            </RelativeLayout>

列表视图中的字体大小非常大。 enter image description here

2 个答案:

答案 0 :(得分:35)

进入布局文件夹并创建一个名为mytextview.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"
        android:textSize="2dp" /> 

并在代码中

    setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, results));

将其更改为

    setListAdapter(new ArrayAdapter<String>(this,
            R.layout.mytextview, results));

答案 1 :(得分:0)

不要让版式(相对版式/约束版式)保留在新版式资源文件中。

那会出错。 只有具有自定义设置的Textview。