- MIUI / HyperOS topik
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Samsung Galaxy S25 - végre van kicsi!
- Google Pixel topik
- Megérkezett Európába az Oppo vékony órája
- Realme GT 2 - aláírjuk
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Kis méret, nagy változás a Motorolánál
Ú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
- Gaming notebook topik
- MIUI / HyperOS topik
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Pad X8b néven jön a Honor következő belépőszintű táblája
- Melyik tápegységet vegyem?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kormányok / autós szimulátorok topikja
- Elvonult a zimankó, de a hardverek nem mennek sehová
- Metal topik
- További aktív témák...
- Legjobb kijelzős!!! HP ZBook Power 15 G8 i7-11850H 32GB 512GB Nvidia RTX A2000 1 év garancia
- Legjobb kijelzős!!! HP ZBook Power 15 G8 i7-11850H 32GB 1000GB Nvidia RTX A2000 1 év garancia
- 2x32GB TESZTELT, hibátlan, GARANCIÁLIS notebook RAM 2666, 3200
- Iphone 13 256 GB kártyafüggetlen
- Xiaomi Redmi Note 12 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- LG 83B4 - 83" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- ASUS Vivobook Go E1504GA-NJ284TW Notebook
- BESZÁMÍTÁS! HP Elitebook 745 G6 14 üzleti notebook - R5 3500U 16GB DDR4 256GB SSD Vega 8 IGP WIN11
- GYÖNYÖRŰ iPhone 12 Mini 128GB Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS3630
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


