Я пытаюсь сделать простой пример галереи изображений, используя horizontalscrollview и динамически добавляя изображения. Я искал примеры, но большинство из них слишком сложны. Есть ли простой пример того, как это сделать?Галерея изображений с горизонтальным прокруткой
ответ
Here некоторые простой пример, который реализован горизонтальный вид прокрутки, чтобы выглядеть как галерею изображений
это поможет вам
Добавить HorizontalScrollView в макете:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/mygallery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
/>
</HorizontalScrollView>
</LinearLayout>
Главная Java код:
package com.example.androidhorizontalscrollviewgallery;
import java.io.File;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
LinearLayout myGallery;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myGallery = (LinearLayout)findViewById(R.id.mygallery);
String ExternalStorageDirectoryPath = Environment
.getExternalStorageDirectory()
.getAbsolutePath();
String targetPath = ExternalStorageDirectoryPath + "/test/";
Toast.makeText(getApplicationContext(), targetPath, Toast.LENGTH_LONG).show();
File targetDirector = new File(targetPath);
File[] files = targetDirector.listFiles();
for (File file : files){
myGallery.addView(insertPhoto(file.getAbsolutePath()));
}
}
View insertPhoto(String path){
Bitmap bm = decodeSampledBitmapFromUri(path, 220, 220);
LinearLayout layout = new LinearLayout(getApplicationContext());
layout.setLayoutParams(new LayoutParams(250, 250));
layout.setGravity(Gravity.CENTER);
ImageView imageView = new ImageView(getApplicationContext());
imageView.setLayoutParams(new LayoutParams(220, 220));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setImageBitmap(bm);
layout.addView(imageView);
return layout;
}
public Bitmap decodeSampledBitmapFromUri(String path, int reqWidth, int reqHeight) {
Bitmap bm = null;
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(path, options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
bm = BitmapFactory.decodeFile(path, options);
return bm;
}
public int calculateInSampleSize(
BitmapFactory.Options options, int reqWidth, int reqHeight) {
// Raw height and width of image
final int height = options.outHeight;
final int width = options.outWidth;
int inSampleSize = 1;
if (height > reqHeight || width > reqWidth) {
if (width > height) {
inSampleSize = Math.round((float)height/(float)reqHeight);
} else {
inSampleSize = Math.round((float)width/(float)reqWidth);
}
}
return inSampleSize;
}
}
Примечание: в этом документе достаточно, растровые изображения в HorizontalScrollView не будут удалены даже не на экране. Итак, если слишком много растровых изображений загружено, ошибка java.lang.OutOfMemoryError будет выброшена!
Можете ли вы мне помочь на этом [вопрос] (http://stackoverflow.com/questions/33219942/horitzontalscrollview-or-carrousel)? : D –
Вы можете создать div и установить переполнение для скрытия, а затем вставить другое внутри него, которое имеет высоту или ширину всех изображений, зависит от вашей анимации, которую вы хотите горизонтально, идите с шириной раз на количество изображений и помните чтобы включить поля в это. Затем вы кодогенератор JQuery анимации для работы на больших DIV, который будет двигаться влево или вправо, опять же в зависимости от ваших предпочтений
eg $('pic').animate({left:'_____ <- enter width of single image together with margin here ' +'px','slow' <-- whatever speed you prefer);
, а затем играть с ним оттуда. ваш обработчик может щелкнуть по другой кнопке или на изображении ... предпочтение снова. Он очень гибкий, без особого кодирования, это не лучший вариант для использования. Если это вас не устраивает, создайте массив изображений и проведите через них, а не используйте эти конкретные размеры для прокрутки. Удачи вам в этом. Надеюсь, я помог тебе.
JQuery не поможет здесь, в андроиде – roarster
- 1. Как создать галерею изображений с горизонтальным прокруткой
- 2. GridView с горизонтальным прокруткой
- 3. Android Галерея изображений с горизонтальной прокруткой
- 4. Индивидуальный вид с горизонтальным прокруткой
- 5. проблема с двойным горизонтальным прокруткой. Прикосновения
- 6. jQuery галерея мобильных изображений по умолчанию вертикальная проблема с прокруткой
- 7. Галерея изображений с горизонтальной и вертикальной прокруткой (Android)
- 8. Как установить ListView с горизонтальным прокруткой?
- 9. проблема с горизонтальным прокруткой на android
- 10. malihu с горизонтальным и вертикальным прокруткой
- 11. Проблемы с горизонтальным прокруткой в bootstrap3
- 12. заголовок не перемещается с горизонтальным прокруткой
- 13. Элементы списка Android с горизонтальным прокруткой
- 14. Как показать изображения с горизонтальным прокруткой андроида
- 15. Неверная ширина перекоса/карты с горизонтальным прокруткой
- 16. twitter bootstrap выпадающее меню с горизонтальным прокруткой
- 17. Как исправить заголовок таблицы с горизонтальным прокруткой?
- 18. Горизонтальная Галерея изображений
- 19. Простая галерея изображений с HorizontalScrollView
- 20. Галерея с «укладкой» изображений
- 21. Галерея изображений с codeigniter
- 22. галерея изображений с bootstrap
- 23. Галерея изображений с JQuery
- 24. Галерея изображений с перекрытием
- 25. Div с прокруткой изображений
- 26. Динамическая загрузка Обозначенная галерея с бесконечным прокруткой
- 27. Галерея с запертой в центре горизонтальной прокруткой
- 28. как отображать изображение под горизонтальным прокруткой
- 29. Как создать меню с горизонтальным прокруткой с дианимским контентом
- 30. Просмотр данных с Parse.com с горизонтальным прокруткой в Swift (iOS)
опубликуйте свой код, и если у вас возникнут трудности с этим, мы сможем решить проблему, мы не работаем в обоих направлениях. –