我想创建动态ImageView,但它没有出现,有什么帮助吗?
@Override public boolean onTouchEvent(MotionEvent event) {
RelativeLayout myLayout = new RelativeLayout(this);
ImageView stone = new ImageView(this);
stone.setImageResource(R.drawable.pedra);
stone.setVisibility(View.VISIBLE);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
myLayout.addView(stone, lp);
return true;
}
答案 0 :(得分:1)
试试这个,它会帮助你
<RelativeLayout
android:id="@+id/relativelayout"....>
</RelativeLayout>
public class MainActivity extends Activity {
private RelativeLayout rLayout;
@Override
protected void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
setContentView(R.layout.main);
rlayout = (RelativeLayout) findViewById(R.id.relativeLayout);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
ImageView stone = new ImageView(this);
stone.setImageResource(R.drawable.pedra);
stone.setVisibility(View.VISIBLE);
rLayout.addView(stone);
return true;
}
}
答案 1 :(得分:1)
你的代码是正确的,但没有太多影响,因为它是艺术的艺术。您创建RelativeLayout
,然后创建ImageView
,然后将ImageView
添加到RelativeLayout
。这样可行,但要使其显示您的布局必须添加到显示的层次结构中。因此,我将RelativeLayout
添加到您的xml布局文件中,使用id
为其分配android:id
,然后在您的触摸屏上findViewById()
并添加已创建的ImageView
那里。
答案 2 :(得分:0)
您忘了夸大myLayout
答案 3 :(得分:0)
对于某些设备,也将所有图片放在 drawable-xhdpi 目录中。