【问题标题】:ImageView Slider horizontallyImageView 水平滑块
【发布时间】:2017-04-05 18:03:50
【问题描述】:

我正在尝试在我的主布局文件中的 imageview 中创建适合图像的水平滑块。但不是在触摸时 imageview 滑动,代码是水平移动整个布局。

以下是我的滑动Java代码:

    public class Artprofile extends FragmentActivity {
        static final int NUM_ITEMS = 5;
        ImageFragmentPagerAdapter imageFragmentPagerAdapter;
        ViewPager viewPager;
        public static final String[] IMAGE_NAME = {"a", "b", "c", "d", "e",};

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.fragment_page);
            imageFragmentPagerAdapter = new ImageFragmentPagerAdapter(getSupportFragmentManager());
            viewPager = (ViewPager) findViewById(R.id.pager);
            viewPager.setAdapter(imageFragmentPagerAdapter);
        }

       public static class ImageFragmentPagerAdapter extends FragmentPagerAdapter {
        public ImageFragmentPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public int getCount() {
            return NUM_ITEMS;
        }

        @Override
        public Fragment getItem(int position) {
            SwipeFragment fragment = new SwipeFragment();
            return SwipeFragment.newInstance(position);
        }
   }

        public static class SwipeFragment extends Fragment {
        @Override

            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View swipeView = inflater.inflate(R.layout.layoutart, container, false);
            ImageView imageView = (ImageView) swipeView.findViewById(R.id.image_view1);
            Bundle bundle = getArguments();
            int position = bundle.getInt("position");
            String imageFileName = IMAGE_NAME[position];
            int imgResId = getResources().getIdentifier(imageFileName, "drawable", "com.example.user.myapplication1");
             imageView.setImageResource(imgResId);
             return swipeView;
          }

           static SwipeFragment newInstance(int position) {
            SwipeFragment swipeFragment = new SwipeFragment();
            Bundle bundle = new Bundle();
            bundle.putInt("position", position);
            swipeFragment.setArguments(bundle);
            return swipeFragment;
           }
       }
   }

以下是我的主要布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/mobileback"
     android:layout_width="wrap_content"
   android:layout_height="wrap_content" >


  <ImageView android:id="@+id/image_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:maxWidth="150dp"
    android:maxHeight="150dp"
    android:scaleType="fitCenter"
    android:layout_marginRight="50dp"
    android:layout_marginTop="30dp"
    android:layout_marginLeft="400dp"
    android:src="@drawable/profilewindow1"
    android:layout_marginEnd="58dp"
    android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="330dp"
    android:layout_alignParentStart="true"
    android:maxWidth="150dp"
    android:maxHeight="150dp"
    android:layout_below="@+id/image_view"
    android:id="@+id/layout_mobile1">



<ImageView
    android:id="@+id/image_view1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"


    />
  </FrameLayout>

</RelativeLayout>

这是用于滑动的 Fragment 布局:

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content" >


<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</android.support.v4.view.ViewPager>

我不明白这个问题。请帮忙。提前致谢

【问题讨论】:

  • 这就是 viewpager 的用途...它将整个片段滑入 getItem mehod
  • 你的意思是你只需要从 R.layout.layoutart 中滑动一个图像视图,而其他的则留在原处吗?
  • @DmitryBorodin 我想要的是我只能移动 image_view1,而不是整个布局。代码滑动整个布局。

标签: java android android-studio imageview android-imageview


【解决方案1】:

你可以使用一个布局来包裹imageview,然后将布局包裹在水平滚动视图中

【讨论】:

  • 我已经将 imageview 包装到 framelayout 中,但没有运气
  • 使用线性布局
猜你喜欢
  • 2015-06-08
  • 1970-01-01
  • 1970-01-01
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 2022-01-03
相关资源
最近更新 更多