6

画面上部から下がる画像を作りたいです。

今日まで私はこれを持っています:

ImageView mario = (ImageView) findViewById(R.id.mario);
TranslateAnimation anim = new TranslateAnimation(0f, 0f, 0, 400);
anim.setInterpolator(new LinearInterpolator());
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(800);
mario.startAnimation(anim);

問題は、レイアウトのxmlファイルにimageviewを設定する必要があり、このコードでは1つの画像しか作成されないことです。

画面の上部にいくつかの画像(ループなど)を作成し、それらを画面にドロップするようにアプリをプログラムしたいと思います。(ここではTranslateAnimationを使用しています)。私はこのようなものを見つけました:

ImageView mario = (ImageView) findViewById(R.drawable.mario);

しかし、xmlファイルにないImageViewの位置を設定する方法がわかりません(可能ですか?)。私はLinearLayoutを作成し、それをImageViewに追加することについて考えました。しかし、linearlayoutを既存のレイアウトに追加するにはどうすればよいですか?

前もって感謝します :)

4

2 に答える 2

9

次のようなレイアウトを作成できます

View view = (View) findViewById(R.layout.current_layout); //the layout you set in `setContentView()`
LinearLayout picLL = new LinearLayout(CurrentActivity.this);
picLL.layout(0, 0, 100, 0);
picLL.setLayoutParams(new LayoutParams(1000, 60));
picLL.setOrientation(LinearLayout.HORIZONTAL);
((ViewGroup) view).addView(picLL);

渡すパラメータlayout()は、明らかに必要なものによって異なります。次に、個別に作成して、作成したばかりのユーザーViewsに追加できます。Layoutただし、ここですべてを実行できることを理解するために、ドキュメントを読むことを強くお勧めします。

ViewGroup

意見

編集

ImageView myImage = new ImageView(this);
picLL.addView(myImage);
//set attributes for myImage;
于 2013-02-26T19:59:47.403 に答える
4

次のコードを使用して、画像を動的に追加できます

public class MainActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 ImageView imageview = new ImageView(MainActivity.this);
 RelativeLayout relativelayout = (RelativeLayout)findViewById(R.id.relativeLayout);
 LinearLayout.LayoutParams params = new LinearLayout
 .LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

 // Add image path from drawable folder.
 imageview.setImageResource(R.drawable.demo_new_image);
 imageview.setLayoutParams(params); 
 relativelayout.addView(imageview); 

 }
}
于 2017-09-19T12:49:04.057 に答える