我在为我的ListView设置自己的字体时遇到了问题,我不知道如何使用自己的Adapter类以及我需要什么xml(除了我放在ListView中的那个)。我希望(在ListView中)只是水平居中使用自己的字体。那是我的适配器:
public class MyAdapter extends BaseAdapter {
private String[] objects; // no objects just String array
private final Context context;
public MyAdapter(Context context, String[] objects) {
this.context = context;
this.objects = objects;
}
@Override
public int getCount() {
return objects.length;
}
@Override
public Object getItem(int position) {
return objects[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Object obj = objects[position];
TextView tv = new TextView(context);
tv.setText(obj.toString());
Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/kolejRogFont.ttf");
tv.setTypeface(tf);
return tv;
}
}
它在呼唤ista.java
ListView lv = new ListView(this);
lv.setAdapter(new MyAdapter(this, listview_array));
代码来自StackOverFlow的另一个主题。
>
我在第行中遇到错误(未定义的方法):
字体tf=Typeface.createFromAsset(getAsset(),"fonts/kolejRogFont.ttf");
2、屏幕上没有显示任何内容。我应该为ListView布局创建XML吗?它应该包含什么?
关于为列表视图设置边距的答案,应在列表\u view\u项目中设置边距。zml。e、 g.在线性布局中设置边距或填充。
getAssets()
来自上下文,因此它对适配器没有定义。尝试使用此选项:
Typeface tf = Typeface.createFromAsset(context.getAssets(),"fonts/kolejRogFont.ttf");
编辑:作为旁注,我会将该行移动到构造函数并将tf
设置为类变量。真的没有必要在每次获得视图时加载字体。
将MyAdapter代码更改为:
public class MyAdapter extends BaseAdapter {
Typeface tf;
private String[] objects; // no objects just String array
private final Context context;
public MyAdapter(Context context, String[] objects) {
this.context = context;
this.objects = objects;
tf = Typeface.createFromAsset(context.getAssets(),"fonts/kolejRogFont.ttf");
}
////Your code ...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Object obj = objects[position];
TextView tv = new TextView(context);
tv.setText(obj.toString());
tv.setTypeface(tf);
return tv;
}
}
英文原文:http://emberjs.com/guides/views/customizing-a-views-element 视图在页面上表现为一个单一的DOM元素。通过修改tagName属性,可以改变视图生成的元素的类型。 1 2 3 App.MyView = Ember.View.extend({ tagName: 'span' }); 另外,还可以通过设置一个字符串数组到clas
问题内容: 我浏览了教程并进行了搜索,但仍然不明白该怎么做, 当扩展在我的android应用程序中创建自定义listView 时,此方法有效。因此,我无法完全按照需要编辑“自定义”列表视图。 我需要知道何时调用此方法以及参数的含义。 如果有人可以解释以下方法很好。谢谢 问题答案: getView() :如规范中所述,getView方法将数据显示在指定位置。因此,当您设置适配器并滚动时,将调用lis
英文原文:http://emberjs.com/guides/views/defining-a-view/ 你可以使用Ember.View来渲染一个Handlebars模板并将它插入到DOM中。 为了告诉视图要用哪个模板,可以设置它的temaplateName属性。例如,如果我有一个像这样的<script>标签: 1 2 3 4 5 6 7 <html> <head> <script
问题内容: 我有一个 : 问题答案: 首先应注意,通过简单地调整系统提供的标注的属性,但 自定义左右附件(通过rightCalloutAccessoryView和leftCalloutAccessoryView),就可以对标注进行最简单的更改。您可以在中进行配置viewForAnnotation。 从iOS 9开始,我们可以使用detailCalloutAccessoryViewwhich来用可能
本文向大家介绍Android 创建自定义视图,包括了Android 创建自定义视图的使用技巧和注意事项,需要的朋友参考一下 示例 如果需要完全自定义的视图,则需要子类View(所有Android视图的超类),并提供自定义的sizing(onMeasure(...))和drawing(onDraw(...))方法: 创建您的自定义视图框架:每个自定义视图的基本相同。在这里,我们为自定义视图创建框架,
我尝试做自定义组件。我扩展了类,并在覆盖方法中做了一些绘图。为什么我需要覆盖?如果我没有,一切都看起来是正确的。有人可以解释一下吗?我应该如何编写我的方法?我看过几个教程,但每一个都比另一个有一点不同。有时他们在最后调用,有时他们使用并没有调用它。区别在哪里? 毕竟,我想使用几个完全相同的组件。我将这些组件添加到我的XML文件中,但我不知道它们应该有多大。我想稍后在自定义组件类中设置它的位置和大小