【问题标题】:how to change text size of listview如何更改列表视图的文本大小
【发布时间】:2013-12-25 17:20:12
【问题描述】:

我正在使用列表活动从 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>

列表视图中的字体很大。

【问题讨论】:

    标签: android android-layout android-listview


    【解决方案1】:

    进入布局文件夹并创建一个名为 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));
    

    【讨论】:

    • 我使用 cart.xml 而不是 android.R.layout.simple_list_item_1,查看我的代码。
    • 我是说您需要将 setListAdapter 中的默认 textView 布局替换为您在回答中所写的自定义布局。有什么问题?
    • 哦,我知道了,让我试试。
    • sp 是与尺度无关的像素,而 dp 或 dip 是与密度无关的像素。如果您需要跨设备的固定一致性,Android 规范建议使用 sp 作为文本尺寸。
    • 我正在努力解决我的问题!这真的很有帮助。谢谢!
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-08-28
      • 2020-07-19
      • 2011-05-30
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      相关资源
      最近更新 更多