Gan*_*ira 3 android android-layout android-imageview
我想创建从屏幕上部向下的图像。
到目前为止,我有:
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);
Run Code Online (Sandbox Code Playgroud)
问题是我必须在布局上的xml文件上设置imageview,并且此代码仅创建1张图片。
我想对应用程序进行编程,以在屏幕上部创建几个图像(例如,循环显示),并将它们下拉到屏幕上。(这里我在这里使用TranslateAnimation)。我发现了这样的事情:
ImageView mario = (ImageView) findViewById(R.drawable.mario);
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何设置不在xml文件中的ImageView的位置(可能吗?)。我虽然要创建LinearLayout并将其添加到ImageView。但是如何将linearlayout添加到现有布局?
提前致谢 :)
您可以使用以下方式创建布局
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);
Run Code Online (Sandbox Code Playgroud)
您传入的参数layout()显然取决于您想要的参数。然后,您可以创建单独Views的添加到Layout刚刚创建的。但我强烈建议您通读文档,以了解可以在此处完成的所有操作。
编辑
ImageView myImage = new ImageView(this);
picLL.addView(myImage);
//set attributes for myImage;
Run Code Online (Sandbox Code Playgroud)
小智 5
使用以下代码,您可以动态添加图像
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);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26708 次 |
| 最近记录: |