我正在为Android 2.3编写应用程序
在main.xml
中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
android:orientation = "vertical"
android:layout_width = "fill_parent"
android:layout_height= "fill_parent" >
<ListView
android:id = "@android:id/list"
android:textSize = "4sp"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:drawSelectorOnTop = "false" />
</LinearLayout>
在
ViewHolder.java
中public class ViewHolder {
ImageView icon = null;
ViewHolder(View base){
this.icon = (ImageView)base.findViewById(R.id.pic);
}
}
在
ViewHolderDemo.java
中public class ViewHolderDemo extends ListActivity {
private static final String[] items = {"lorem", "ipsum", "dolor", "sit", "amet","consectetuer", "adipiscing", "elit"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(new IconicAdapter());
}
public void OnListItemClick(ListView parent, View v, int position, long id){
}
class IconicAdapter extends ArrayAdapter<String> {
public IconicAdapter() {
super(ViewHolderDemo.this, R.layout.row, R.id.label, items);
}
public View getView(int position, View convertView, ViewGroup parent){
View row = super.getView(position, convertView, parent);
ViewHolder holder = (ViewHolder)row.getTag();
if(holder == null){
holder = new ViewHolder(row);
row.setTag(holder);
}
holder.icon.setImageResource(R.drawable.star);
return(row);
}
}
}
让我累的问题是:当我在
android:textSize
中更改.xml
时。文字大小不变可能这是android中的错误
所以我怎么能改变ListView中存在的文本的大小(变小)?
最佳答案
android:textSize = "4sp"
android:textSize是TextView属性,不适用于ListView。
您可以通过在应用程序主题中设置textSize来覆盖默认的textSize。
更好的方法是:
在代码中进行设置(获取对TextView的引用并使用setTextSize)
使用android:textSize =“ 4sp”扩展TextView的行布局
为什么这比在应用程序主题中设置更好?
因为textSize属性将由TextView扩展的所有小部件共享。因此,诸如Button或EditText之类的东西也将具有该大小(当然,假设这不是所需的效果)。