Hirdetés
- Szívós, szép és kitartó az új OnePlus óra
- Google Pixel topik
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- Megérkezett a Google Pixel 7 és 7 Pro
- Érintésnélküli fizetési megoldások - PayPass via NFC
- Samsung Galaxy A55 - új év, régi stratégia
- Apple iPhone 17 - alap
- Honor 200 Pro - mobilportré
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Apple iPhone 13 - hízott, de jól áll neki!
Új hozzászólás Aktív témák
-
heihachi
addikt
Sziasztok!
Szeretnék egy parallax scroll effektet létrehozni, ahol a háttér, mondjuk egy kép más sebességgel gördül, mint az előtte lévő szöveg. Ezzel meg is volnék, ezt úgy értem el, hogy a layoutban egy framelayout van, azon belül két saját, scrollview-ból származtatott saját view.
<FrameLayout 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:paddingBottom="@dimen/null_dp"
android:paddingLeft="@dimen/null_dp"
android:paddingRight="@dimen/null_dp"
android:paddingTop="@dimen/null_dp"
tools:context="com.example.simpletestproject.ParaScroll" >
<com.example.simpletestproject.MyScrollView
android:id="@+id/background_scroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none" >
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:scaleType="center"
android:src="@drawable/kek_atmenet" />
</com.example.simpletestproject.MyScrollView>
<com.example.simpletestproject.MyScrollView
android:id="@+id/foreground_scroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:overScrollMode="always" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/lorem_ipsum"
android:textColor="@color/white" />
</com.example.simpletestproject.MyScrollView>
</FrameLayout>A scrollview leszármazottja sincs túlbonyolítva:
package com.example.simpletestproject;
import android.content.Context;
import android.graphics.Matrix;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ScrollView;
public class MyScrollView extends ScrollView {
public MyScrollView synchronizedScrollView;
public String name = "default";
public MyScrollView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public MyScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// TODO Auto-generated constructor stub
}
public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
// TODO Auto-generated constructor stub
}
public boolean onTouchEvent(MotionEvent event) {
boolean synchronizedScrollViewReturn = true;
boolean scrollViewReturn = super.onTouchEvent(event);
if (synchronizedScrollView != null) {
Matrix matrix = new Matrix();
matrix.setScale(0.5f, 0.5f);
event.transform(matrix);
synchronizedScrollViewReturn = synchronizedScrollView.onTouchEvent(event);
}
return synchronizedScrollViewReturn && scrollViewReturn;
}
}A synchronizedScrollView a háttér scrollview, megkapja az is az érintés információkat, és mozog az is.
Ez tök jól működik, a háttér más sebességgel szkrollozódik, mint az előtér, csak a gondom az, hogy jó lenne ezeket egymáshoz igazítani, hogy egyszerre érjenek a tetejére és az aljára. Nem lenne ez bonyolult, mert a méretarányok alapján a mátrixot amit skálázásra használok simán be lehetne lőni. Csakhogy képtelen vagyok megmérni a view-k méretét, akármit próbálok baromságok jönnek vissza. Az 1600 pixeles háttérre 2133, a rohadtul hosszú szövegre, ami vagy 10 képernyő meg 38 pl, és képtelen vagyok felfogni, hogy hogyan kellene megoldani.
Volna valami ötletetek?
Új hozzászólás Aktív témák
- AMD Radeon RX 7600 8GB OC HIBÁTLAN!!
- Hibátlan 2+ Év Garancia! GIGABYTE GeForce RTX 4060 EAGLE OC 8GB
- AZONNAL KÉSZLETRŐL! AMD Ryzen 7 9800X3D 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5090 32GB GDDR7 1200W
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 32GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
- AKCIÓ! Apple Mac Studio M1 MAX 2022 32GB 512GB számítógép garanciával, hibátlan működéssel
- Xiaomi 14T /12/256GB / Kártyafüggetlen / 12Hó Garancia
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4050
- Microsoft Surface Pro 7+ - Újszerű, billentyűzettel és ceruzával
- GYÖNYÖRŰ iPhone 13 Mini 128GB Green- 1 ÉV GARANCIA -Kártyafüggetlen, MS4200
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


