Android 你能把文本切换器和图像切换器放在同一个类中吗?
我有一个扩展活动并实现ViewFactory的类 我找到了一些教程和代码示例,说明了如何设置和 对于这两个示例,您必须创建:Android 你能把文本切换器和图像切换器放在同一个类中吗?,android,Android,我有一个扩展活动并实现ViewFactory的类 我找到了一些教程和代码示例,说明了如何设置和 对于这两个示例,您必须创建: public View makeView() { return x; } 其中x是textView或ImageView 以下是我尝试使用的示例: @Override public View makeView() { ImageView iView = new ImageView(this); iView.setScaleType(ImageView
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运行它时,会得到一个强制关闭
有什么想法吗?有更好的方法吗
谢谢,
Neil不能将同一对象用作
视图工厂
,并将其用作两个不同组件的两个不同工厂
我从未尝试过,但从OO的角度来看,这里有一些解决方案:
- 在活动中创建两个内部类
- 它们都将实现
ViewFactory
- 将每个内部类的一个实例指定为两个组件的
ViewFactory
- 让他们的
方法为每个组件提供所需的makeView
View
Stéphane不能将同一对象用作
视图工厂
,并将其用作两个不同组件的两个不同工厂
我从未尝试过,但从OO的角度来看,这里有一些解决方案:
- 在活动中创建两个内部类
- 它们都将实现
ViewFactory
- 将每个内部类的一个实例指定为两个组件的
ViewFactory
- 让他们的
方法为每个组件提供所需的makeView
View
Stéphane正如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(此)使用mSwitcher.setFactory(新的TextSwitcherFactory())代码>
e、 g
正如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(此)使用mSwitcher.setFactory(新的TextSwitcherFactory())代码>
e、 g
谢谢这正是我想要的。谢谢!这正是我想要的。