現在Androidで自動で動くスライドショーを作ろうと思っています。
画像、動画の読込先は指定のディレクトリからと決まっています。
動画を永遠に流し続けるコードと
指定の /res/layout/
にある.xmlを切り替えて画像をスライドショーし続けるものはできています。(ViewFlipperを使用したもの)
動画は良いとして、ViewFlipperの方は/res/layout/
のレイアウトファイルを切り替えていますが、この場合、初めに用意していなければできないため目標とは異なります。
やりたいこととして、指定のディレクトリにある1枚かもしれないし100枚かもしれない画像を切り替えたいです。
java
1activity_main.xml 2 3略 4<ViewFlipper 5 android:id="@+id/flipper" 6 android:scaleType="fitCenter" 7 android:layout_width="match_parent" 8 android:layout_height="wrap_content" 9 android:contentDescription="photo"> 10 <include android:id="@+id/firstlayout" layout="@layout/first" /> 11 <include android:id="@+id/secondlayout" layout="@layout/first" /> 12 <include android:id="@+id/thirdlayout" layout="@layout/first" /> 13</viewFlipper> 14 15略
java
1first.xml(second.xml third.xml同様) 2 3略 4<ImageView 5 android:layout_width="wrap_content" 6 android:layout_height="wrap_content" 7 android:src="@drawable/first"> //画像名:first.jpg 8
java
1MainActivity.java 2 3略 4private String path = Environment.getExternalStorageDirectory().getPath+"指定のディレクトリ"; 5 6private void getImageFile(){ 7 File[] imageFiles = new File(path).listFile(); 8 9 for(int i = 0; i < imageFiles.length; i++){ 10 if(imageFiles[i].getName().endsWith(".jpg")){ 11 リスト入れる変数.add(imageFiles[i].getPath()); 12 } 13 } 14 } 15 16略
first.xml内のandroid:src="@drawable/first"
の部分を動的に
getImageFile()
で取得した画像に変更する方法がありますか?
それともMainActivity内でimageView
を使用して直書き?をしなくてはいけないのでしょうか?
コードはなくても良いので、指針、ヒントをいただきたいです。
先輩方の知恵をお貸しください。
どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー