を使用せずに視差を行うことができますあなたはわずか3ステップでそれを行うことができますどのように知っていただきたいと思います:)
- build.gradleであなたの依存関係に
compile 'com.github.ksoichiro:android-observablescrollview:1.6.0'
を追加します(project on github)
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>
設定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にこの新しい効果を与えたくない)この黒いビューの代わりに、あなたが私を助けてくれますか? –
お返事ありがとうございます。どうもありがとうございます! –