private void movePlane() {
// TODO Auto-generated method stub
spielbereich = (FrameLayout) findViewById(R.id.spielbereich);
int nummer = 0;
while (nummer<spielbereich.getChildCount()) {
ImageView muecke = (ImageView) spielbereich.getChildAt(nummer);
if (muecke.getTag() == AIRPLANE ){
FrameLayout.LayoutParams params = (android.widget.FrameLayout.LayoutParams) muecke.getLayoutParams();
params.leftMargin -= 10;
muecke.setLayoutParams(params);
nummer ++;}
}
}
您好, 我想用特定标签移动ImageView,但是当我这样做时应用程序会崩溃。 在布局中有一个永久的ImageView。其他是在Activity中创建的。 任何人都可以帮忙吗?
答案 0 :(得分:0)
您无法将ImageView强制转换为FrameLayout。 如果你想使用FrameLayout的边距进行移动,那么尝试在你的spielbereich FrameLayout中将每个ImageView包装在它自己的独立FrameLayout中。
您也没有检查params.leftMargin
的负值。
虽然这不是您的主要问题的原因,但它可能导致框架布局的意外行为。 Romain Guy(Google的核心Android Dev)建议您避免这种情况。
请查看this question.