嘿朋友,我正在使用位图制作壁纸应用程序。我有超过 50 张图片用于此应用程序...我面临的问题是我必须为 java 代码和 xml 中的所有图像添加代码行文件...
所以请让我知道有没有办法通过添加任何循环或其他东西来克服这个问题......任何可以减少我的代码并且我可以添加更多图像的东西......
我重复的java代码是(只有几行重复):
display = (ImageView) findViewById(R.id.IVDisplay);
ImageView image1 = (ImageView) findViewById(R.id.viewImage1);
ImageView image2 = (ImageView) findViewById(R.id.viewImage2);
ImageView image3 = (ImageView) findViewById(R.id.viewImage3);
ImageView image4 = (ImageView) findViewById(R.id.viewImage4);
ImageView image5 = (ImageView) findViewById(R.id.viewImage5);
ImageView image6 = (ImageView) findViewById(R.id.viewImage6);
ImageView image7 = (ImageView) findViewById(R.id.viewImage7);
ImageView image8 = (ImageView) findViewById(R.id.viewImage8);
ImageView image9 = (ImageView) findViewById(R.id.viewImage9);
很快
然后在java代码本身之后再次
toPhone = R.id.IVDisplay;
image1.setOnClickListener(this);
image2.setOnClickListener(this);
image3.setOnClickListener(this);
image4.setOnClickListener(this);
image5.setOnClickListener(this);
image6.setOnClickListener(this);
image7.setOnClickListener(this);
image8.setOnClickListener(this);
image9.setOnClickListener(this);
很快
然后在开关情况下我必须再次重复代码
switch (v.getId()){
case R.id.viewImage1:
display.setImageResource(R.drawable.a);
toPhone = R.drawable.a;
break;
case R.id.viewImage2:
display.setImageResource(R.drawable.b);
toPhone = R.drawable.b;
break;
case R.id.viewImage3:
display.setImageResource(R.drawable.c);
toPhone = R.drawable.c;
break;
case R.id.viewImage4:
display.setImageResource(R.drawable.d);
toPhone = R.drawable.d;
break;
case R.id.viewImage5:
display.setImageResource(R.drawable.e);
toPhone = R.drawable.e;
break;
case R.id.viewImage6:
display.setImageResource(R.drawable.f);
toPhone = R.drawable.f;
break;
case R.id.viewImage7:
display.setImageResource(R.drawable.g);
toPhone = R.drawable.g;
break;
case R.id.viewImage8:
display.setImageResource(R.drawable.h);
toPhone = R.drawable.h;
break;
等等
case R.id.setBG:
Bitmap bMap = BitmapFactory.decodeStream(getResources().openRawResource(toPhone));
try{
getApplicationContext().setWallpaper(bMap);
}catch(IOException e){
e.printStackTrace();
}
现在来到 XML 部分,即使在那里我也必须添加所有图像......
<LinearLayout
android:layout_width="150dp"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/viewImage1"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/a" />
<ImageView
android:id="@+id/viewImage2"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/b" />
<ImageView
android:id="@+id/viewImage3"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/c" />
<ImageView
android:id="@+id/viewImage4"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/d" />
<ImageView
android:id="@+id/viewImage5"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/e" />
<ImageView
android:id="@+id/viewImage6"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/f" />
<ImageView
android:id="@+id/viewImage7"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/g" />
<ImageView
android:id="@+id/viewImage8"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/h" />
<ImageView
android:id="@+id/viewImage9"
android:layout_width="125dp"
android:layout_height="150dp"
android:padding="15dp"
android:src="@drawable/i" />
等等所有图像的代码......
朋友请不要给负面评价...我已经制作了这个应用程序,但是有 51 张图片,我必须为 51 张写代码...我想优化我的应用程序,以便我可以添加更多图片,甚至我会去学习新事物。希望有人会来帮助我解决这个优化问题......
谢谢