我是 Eclipse 和 Android 开发的新手。我正在开发一个应用程序,并希望在我的初始屏幕之后出现的第一个屏幕有一个由图片组成的背景,以幻灯片放映的形式出现,每张图片之间有 5 秒的间隔。我不知道如何解决这个问题,并且会感谢所有可以指导我完成这项工作的有用 Material 。指望你的绝妙想法。我还需要知道图片应该采用哪种格式,以及它们是否都必须具有相同的尺寸。 谢谢。
使用包含的代码进行编辑。
package com.joel.mybusapp;
import android.support.v7.app.ActionBarActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ViewFlipper;
public class MainActivity extends ActionBarActivity {
Animation slide_in_left, slide_out_right;
ViewFlipper viewFlipper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewFlipper = (ViewFlipper) this.findViewById(R.id.bckgrndViewFlipper1);
slide_in_left = AnimationUtils.loadAnimation(this,
android.R.anim.slide_in_left);
slide_out_right = AnimationUtils.loadAnimation(this,
android.R.anim.slide_out_right);
viewFlipper.setInAnimation(slide_in_left);
viewFlipper.setOutAnimation(slide_out_right);
//sets auto flipping
viewFlipper.setAutoStart(true);
viewFlipper.setFlipInterval(5000);
viewFlipper.startFlipping();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Activity_Main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.joel.mybusapp.MainActivity" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/bckgrndViewFlipper1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/bckgrndImageView5"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen6"
android:scaleType="centerCrop"
android:src="@drawable/backscreen6png" />
<ImageView
android:id="@+id/bckgrndImageView4"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen5"
android:scaleType="centerCrop"
android:src="@drawable/backscreen5png" />
<ImageView
android:id="@+id/bckgrndImageView3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen3"
android:scaleType="centerCrop"
android:src="@drawable/backscreen3png" />
<ImageView
android:id="@+id/bckgrndImageView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen2"
android:scaleType="centerCrop"
android:src="@drawable/backscreen2png" />
<ImageView
android:id="@+id/bckgrndImageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen1"
android:scaleType="centerCrop"
android:src="@drawable/backscreen1png" />
</ViewFlipper>
</LinearLayout>
我设法使用 ViewFLipper 和 ImageView 工具让背景自动滑动。上面的代码仅在屏幕周围有一个我想消失的白色边框时才起作用。我实际上已经将每个容器都制作成 fill_parent,但白边界仍然存在。下面是我的意思的屏幕截图。我需要一些帮助来摆脱白寄宿生。
最佳答案
感谢@Frederick nyawaya 的想法,下面的代码修复了问题中解决的所有问题
Activity_Main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="bottom"
tools:context="com.joel.mybusapp.MainActivity" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/bckgrndViewFlipper1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/bckgrndImageView5"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen6"
android:scaleType="centerCrop"
android:src="@drawable/backscreen6png" />
<ImageView
android:id="@+id/bckgrndImageView4"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen5"
android:scaleType="centerCrop"
android:src="@drawable/backscreen5png" />
<ImageView
android:id="@+id/bckgrndImageView3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen3"
android:scaleType="centerCrop"
android:src="@drawable/backscreen3png" />
<ImageView
android:id="@+id/bckgrndImageView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen2"
android:scaleType="centerCrop"
android:src="@drawable/backscreen2png" />
<ImageView
android:id="@+id/bckgrndImageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/bkscreen1"
android:scaleType="centerCrop"
android:src="@drawable/backscreen1png" />
</ViewFlipper>
</LinearLayout>
</RelativeLayout>
主 Activity .java
package com.joel.mybusapp;
import android.support.v7.app.ActionBarActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ViewFlipper;
public class MainActivity extends ActionBarActivity {
Animation slide_in_left, slide_out_right;
ViewFlipper viewFlipper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewFlipper = (ViewFlipper) this.findViewById(R.id.bckgrndViewFlipper1);
slide_in_left = AnimationUtils.loadAnimation(this,
android.R.anim.slide_in_left);
slide_out_right = AnimationUtils.loadAnimation(this,
android.R.anim.slide_out_right);
viewFlipper.setInAnimation(slide_in_left);
viewFlipper.setOutAnimation(slide_out_right);
//sets auto flipping
viewFlipper.setAutoStart(true);
viewFlipper.setFlipInterval(5000);
viewFlipper.startFlipping();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
关于javascript - 我如何在eclipse中创建自动滑动图像的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26453703/