آموزش ScrollView در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش ScrollView در برنامه نویسی اندروید می پردازیم شاید شما یک Layout داشته باشید که مقدار اجزایی که در داخل آن قرار داده باشید بیشتر از طول کل گوشی یا صفحه باشد در اینجا می توانید از ScrollView استفاده کنید در ادامه با ما همراه باشید.
ابتدای کار در layout اصلی مثل زیر تعداد زیادی از اجزا را قرار دهید نام layout ما در اینجا برابر با activity_main.xml است این فایل در مسیر res/layout قرار دارد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button 1" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button 2" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button 3" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button 4" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button 5" /> <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton 1" /> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton 2" /> <ToggleButton android:id="@+id/toggleButton1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="ToggleButton" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button 6" /> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 7" /> <Button android:id="@+id/button4" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 8" /> <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CheckBox" /> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 9" /> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 10" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button 11" /> </LinearLayout> </ScrollView> |
و در زمانی که Scroll کنید می توانید تمامی اجزا را مشاده کنید.
برای اینکه متن های طولانی نیز قابل خواندن باشند بهتر است از ScrollView استفاده کنید.
برای اینکه از طریق کد به ScrollView دسترسی داشته باشید از کد زیر می توانید View آن را به دست بیارید.
1 | ScrollView SView = (ScrollView) findViewById(R.id.scrollView); |
و چیزی هم در بخش MainActivity.java قرارنگرفته است.
1 2 3 4 5 6 7 8 9 10 11 | package ir.programchi; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } |
یکسری نکات در استفاده از ScrollView است که در ادامه به آنها اشاره خواهیم کرد.
Min Sdk استفاده از ScrollView برابر با اندروید Froyo یا API 2.2 است.
این آموزش هم به پایان رسید.
موفق و پیروز باشید.
حالتی رو هم که یک لیست ویو توی یک اسکرول ویو باشه رو هم بگید ، چون توی اسکرول ویو لیست ویو قفل میکنه ، ممنون
قرار خواهیم داد.
سلام
تو ساخت صفحه اول برنامه هایی همچون دیجی کالا هم از scrollView استفاده میشه؟
سلام
بله استفاده شده است.
سلام خسته نباشید چطور میشه مقدار اسکرول ویو رو ذخیره کرد مثلا تا یه سطری اسکرول میکنیم و وقتی از اپلیکیشن خارج میشیم اگر دوباره وارد اپ شدیم دوباره از صفر نیاد خیلی جاها گشتم و این مورد آموزش رو پیدا نکردم ولی توی خیلی از برنامه ها هست
ممنون میشم راهنماییم کنید
با تشکر.
سلام و درود شما باید داخل eventscrollview بیایید مقدارش رو با متد زیر بگیرید بعدش داخل shareperfrence ذخیره کنید.
targetScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
int scrollX = targetScrollView.getScrollX();
Log.d(TAG, "scrollX: " + scrollX);
}
});
سلام ممنون از اموزشتون فقط چطور میشه نوار اسکرول رو از بین برد؟؟ داخل بیشتر برنامه ها صحفه اسکرول میشه اما نوار نمایش داده نمیشه! مثل دیجی کالا
سلام و درود
کد زیر را استفاده کنید.
موفق باشید.