有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用于显示所有图像的java图像滑块

我是安卓应用程序开发新手,我创建了一个图像库应用程序。它工作正常,但我想通过滑动显示下一幅图像,我想对gridview中的所有图像都这样做。当我点击图像时,它会全屏显示,但在滑动时,相同的图像会一次又一次地显示。当我按下后退按钮时,应用程序崩溃。我找到了一些关于如何对少数图像执行此操作的教程,但我想对存储在SD卡上的所有图像执行此操作。有人能帮我解决这个问题吗

光照活动。java

public class PhotosActivity extends AppCompatActivity {
    int int_position;
    private GridView gridView;
    GridViewAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image_gallery);
        gridView = (GridView)findViewById(R.id.gv_folder);
        int_position = getIntent().getIntExtra("value", 0);
        adapter = new GridViewAdapter(this, al_images,int_position);
        gridView.setAdapter(adapter);

        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String abc = "file://" + al_images.get(int_position).getAl_imagepath().get(position);

                Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
                i.putExtra("id", position);
                i.putExtra("abc",abc);
                startActivity(i);
            }
        });


    }
}

FullImageActivity。java

public class FullImageActivity extends AppCompatActivity {

    int position;
    SliderLayout sliderShow;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_full_image);

        Intent i = getIntent();

        // Selected image id
        position = i.getExtras().getInt("id");
        Bundle extras = getIntent().getExtras();
        String value = extras.getString("abc");


        ImageView imageView = (ImageView) findViewById(R.id.fullImage);
        Glide.with(FullImageActivity.this)
                .load(value)
                .skipMemoryCache(false)
                .into(imageView);

        SliderLayout sliderShow = (SliderLayout) findViewById(R.id.slider);
        TextSliderView textSliderView = new TextSliderView(this);
        textSliderView
                .description("Game of Thrones")
                .image(value);

        sliderShow.addSlider(textSliderView);

    }

    @Override
    protected void onStop() {
        sliderShow.stopAutoCycle();
        super.onStop();
    }
}

活动\u完整\u图像。xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:tools="http://schemas.安卓.com/tools"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    tools:context="com.example.dell_1.myapp3.ImageViewer.FullImageActivity">

    <ImageView
        安卓:layout_width="fill_parent"
        安卓:layout_height="fill_parent"
        安卓:scaleType="fitXY"
        安卓:id="@+id/fullImage"/>

    <com.daimajia.slider.library.SliderLayout
        安卓:id="@+id/slider"
        安卓:layout_width="match_parent"
        安卓:layout_height="200dp"
        />
</RelativeLayout>

共 (1) 个答案

  1. # 1 楼答案

    几天前我写了一个demo,这个演示包含一个part,其中存在读取和显示所有.png{}{}的方式。你可以翻阅或下载它,这可能会帮助你理解一些东西

    以下part中包含的.java请求:

    • /Util/ImagesPatherReader。爪哇
    • /Util/ImageScaleUtil。爪哇
    • /Util/ImageLoadUtil。爪哇
    • /Util/LoadType。爪哇
    • /适配器/本地图像适配器。爪哇
    • /活动/图像资源活动。爪哇

    然而,我认为你需要注意以下几点:

    • 如何构建DIY适配器
    • 如何读取外部存储器中所有图像的路径
    • 如何改善ListeViewholdertagconverView
    • 理解handler-loop-messagethread
    • 如何使用Cache
    • 单身人士

    而不是达到结果,你需要学习的东西太多了