我有一个扩展Activity并实现ViewFactory的类。
我发现了一些教程和代码示例,它们显示了如何设置textSwitcher和imageSwitcher。
对于这两个示例,您必须创建:
public View makeView() {
return x;
}
其中x是textView或ImageView。
这是我尝试使用的示例:
@Override
public View makeView() {
ImageView iView = new ImageView(this);
iView.setScaleType(ImageView.ScaleType.FIT_CENTER);
iView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
iView.setBackgroundColor(0xFFFFFFFF);
TextView t = new TextView(this);
t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
t.setTextSize(36);
return iView;
}
我只能返回其中一个视图,因此当我尝试使用一个名为textSwitcher的视图来运行它时,我将被强制关闭。
有任何想法吗?有一个更好的方法吗?
谢谢,
尼尔
最佳答案
正如Stéphane在我之前所说的,创建一个实现ViewFactory的内部类。
public class TextSwitcherFactory implements ViewFactory
{
@Override
public View makeView() {
TextView t = new TextView(Latest.this);
t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
t.setTextSize(36);
return t;
}
}
然后,当从xml调用TextSwitcher并设置工厂而不是
mSwitcher.setFactory(this);
时,请使用mSwitcher.setFactory(new TextSwitcherFactory());
例如
mSwitcher = (TextSwitcher) findViewById(R.id.textSwitcher1);
mSwitcher.setFactory(new TextSwitcherFactory());
关于android - 您可以在同一类(class)中使用textSwitcher和imageSwitcher吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6529505/