2016-03-23 11 views
1

私は見たことがありますが、Toolbarを除いて、何か「Parallax」を作成するために、サードパーティのライブラリを探していましたが、Toolbarと一緒に作業していますが、それは私の最大の関心事ではありません。アプリケーション全体でToolbarを削除しました。AndroidでToolBarを使わないで視差効果を出すことは可能でしょうか?

私はこの例に続く:https://www.youtube.com/watch?v=HO82ES_RiSQをしかし、それは私を説得しませんでした...

この問題を解決することができ、誰もがありますか?私はToolbar

事前に感謝

答えて

3

を使用せずに視差を行うことができますあなたはわずか3ステップでそれを行うことができますどのように知っていただきたいと思います:)

  1. build.gradleであなたの依存関係にcompile 'com.github.ksoichiro:android-observablescrollview:1.6.0'を追加しますproject on github
  2. ImageView、スクロール可能なコンテンツ、およびObservableScrollViewをコンテナとしてレイアウトを作成します。あなたのObservableScrollViewで

    activity_layout.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <com.github.ksoichiro.android.observablescrollview.ObservableScrollView  
        xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/observable_scrollview" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 
    
        <LinearLayout 
         android:layout_width="wrap_content" 
         android:layout_height="match_parent" 
         android:orientation="vertical"> 
    
         <ImageView 
          android:id="@+id/image_view" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:adjustViewBounds="true" 
          android:src="@drawable/example" /> 
         <View 
          android:id="@+id/your_content" 
          android:layout_width="wrap_content" 
          android:layout_height="600dp" 
          android:background="@android:color/black" /> 
        </LinearLayout> 
    </com.github.ksoichiro.android.observablescrollview.ObservableScrollView> 
    
  3. 設定ObservableScrollViewCallbacks

    public class MainActivity extends AppCompatActivity implements ObservableScrollViewCallbacks { 
        private ImageView imageView; 
    
        @Override 
        protected void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.activity_layout); 
         ObservableScrollView observableScrollView = (ObservableScrollView) findViewById(R.id.observable_scrollview); 
         observableScrollView.setScrollViewCallbacks(this); 
         imageView = (ImageView) findViewById(R.id.image_view); 
        } 
    
        @Override 
        public void onScrollChanged(int scrollY, boolean firstScroll, boolean dragging) { 
         imageView.setTranslationY(scrollY/2); 
        } 
    } 
    

非常に重要なonScrollChange方法であなたのImageViewのy軸上で平行移動はImageViewのです。 setTransl ationY(スクロールY/2);これは、ImageViewがスクロールするコンテンツの2倍のスクロールを行っていることを意味します。私は最近、このコードを見ていたし、それは私の最善の利益になるようです(私はこの例を見ていない、すべての例には、ツールバーを使用している

Parallax image

+0

:ここ

とは次のように、それがどのように見えるかですメインページで)ありがとう! –

+0

ちょっと友人!私はいくつかの問題を新たなレイアウトを追加している(私はParallaxにこの新しい効果を与えたくない)この黒いビューの代わりに、あなたが私を助けてくれますか? –

+0

お返事ありがとうございます。どうもありがとうございます! –

関連する問題