اسلایدی کردن تب ویو
-
مطالب مشابه
-
توسط rexo
سلام به همگی...
مسقیم میرم سر اصل مطلب:
من داخل یکی از فرگمنتهایی که پیاده سازی کردم، یک دکمه قرار دادم که با زدن اون یک layout رو با دستور:
layout.setVisibility(View.VISIBLE); نمایش میدم، حالا میخوام با زدن دکمه برگشت این layout بسته بشه ولی متد onBackPressed رو نمیشه توی فرگمنت پاده سازی کرد!!!!
چجوری میتونم این کار رو انجام بدم؟!!!
ممنون از راهنماییتون.
-
توسط sroash
با عرض سلام و خسته نباشید
چطور میتونم از نویگیشن دراور و ViewPager تو کلاس Main Activity خودم استفاده کنم
من این کار رو کردم ولی با مشکل روبه رو شدم
لطفا راهنمایی کنید با تشکر
-
توسط Omid Zakeri
بهترین روش برای تجزیه و تحلیل فرگمنت ها استفاده از Arguments در آندروید می باشد.( setArguments )
چند راه برای تجزیه و تحلیل و انتقال اطلاعات به فرگمنت ها در اندروید وجود دارد. با این حال، هنگامی که این کار را انجام می دهید، باید مراقب باشید و در هنگام نمونه برداری و انتقال داده ها به قطعات باید از روش های اشتباه اجتناب کنید.
با این حال، این روش اشتباه است. از آنجا که هنگامی که برنامه شما به پس زمینه ارسال می شود و برنامه های دیگر نیاز به حافظه بیشتر و بیشتر دارند، پس برنامه و منابع آن از حافظه پاک می شود تا فضای جدید را باز کند.
import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; /** * Sample fragment to demonstrate the instantiation of fragments with arguments * * Created by Günhan on 28.10.2015. */ public class MyFragment extends Fragment { private String name; private int age; private TextView mNameTextView; private TextView mAgeTextView; public static MyFragment newInstance(String name, int age) { Bundle bundle = new Bundle(); bundle.putString("name", name); bundle.putInt("age", age); MyFragment fragment = new MyFragment(); fragment.setArguments(bundle); return fragment; } private void readBundle(Bundle bundle) { if (bundle != null) { name = bundle.getString("name"); age = bundle.getInt("age"); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_sample, container, false); mNameTextView = (TextView) view.findViewById(R.id.nameTextView); mAgeTextView = (TextView) view.findViewById(R.id.ageTextView); readBundle(getArguments()); mNameTextView.setText(String.format("Name: %s", name)); mAgeTextView.setText(String.format("Age: %d", age)); return view; } } در این مثال، برای نمایش MyFragment باید از کد زیر استفاده کنید:
Fragment fragment = MyFragment.newInstance("OMID", 27);
-
توسط alizare
با سلام
در طراحی یک viewpager با چند فرگمنت که قابلیت افزودن فرگمنت و حذف آنها بصورت داینامیک باشه به مشکل بر خوردم
همه کد ها بخوبی کار میکنند بجز کد مربوط به حذف فرگمنت
البته اگر از آخرین فرگمنت شروع به حذف فرگمنت ها کنیم مشکلی پیش نمیاد
ولی اگه مثلا 5 فرگمنت داشته باشیم و بخواهیم فرگمنت شماره 2 را حذف کنیم ، فرگمنت حذف می شود ولی جای فرگمت خالی می ماند و با سوئیپ روی این فرگمنت برنامه به مشکل میخوره
در عکس پیوست فرگمنت دو حذف شده ولی جای خالی آن باقی مانده
کدی که برای حذف فرگمنت استفاده کردم به شکل زیر هست
public void removeFrag(int position) { removeTab(position); Fragment fragment = mFragmentList.get(position); viewPager.removeView(fragment.getView()); mFragmentList.remove(fragment); mFragmentTitleList.remove(position); notifyDataSetChanged(); getSupportFragmentManager().beginTransaction().remove(fragment).commit(); getSupportFragmentManager().beginTransaction().detach(fragment).commit(); } ممنون میشم هر چه زودتر در این مورد راهنماییم کنید
با تشکر از سایت خوبتون
-
توسط Razieh Shahraki
همانگونه که در جریان قرار گرفته اید در 18 مارس 2013 ورژم دوم گوگل مپ معرفی شد که دارای ویژگی های بسیاری بهتری نسبت به ورژن قبلی است. مانند پیدا کردن سریعتر موقعیت کاربر که بستگی به اینکه این موقعیت از GPS بدست امده یا WIFI و یا mobile data (موبایل دیتا) متغیر میباشد.
GPS دقیق است و بهترین نتیحه را برمیگرداند ولی عیب آن مصرف زیاد باطری دیوایس و کند بودن میباشد و غیر فعال بودن در مکان های سرپوشیده میباشد.اما WIFI ضعیفترین و غیر دقیق ترین نتیجه را برمیگرداند ولی خوبی آن مصرف کم باطری میباشد.
مراحل مورد نیاز برای انجام پروژه:
1- ایجاد برنامه جدید(کامپایل با Google Api)
2- وارد کردن کتابخانهGoogle Play Services
3- دریافت اثر انگشت SHA1 شما
4- دریافت mapKey خود را با استفاده از SHA1
5- اصلاح AndroidManifest.xml
برنامه اندرویدی جدیدی ایجاد کنید.
[align=center]http://www.codeproject.com/KB/android/614946/01.jpg[/img][/align]
وارد کردن کتابخانهGoogle Play Services
1- کتابخانه google play services خود را که در مسیر زیر است پیدا کنید.
....\android-sdk\adt-bundle-windows-x86_64-20130522\adt-bundle-windows-x86_64-20130522\sdk\extras\google
و آن را به Workspace خود انتقال دهید.
2- کتابخانه را به محیط Eclipse وارد کنید.( File\Import\Existing Android Code Into Workspace )
[align=center]http://www.codeproject.com/KB/android/614946/02.jpg[/img][/align]
کتابخانه Google Play Services را به روش زیر به پروژه خود اضافه کنید .
روی پروژه کلیک راست کرده سپس گزینه properties را انتخاب کنید به تب اندروید رفته و روی دکمه add کلیک کنید فقط کتابخانه Google Play Services را اضافه کرده و ok کنید.
[align=center]http://www.codeproject.com/KB/android/614946/030.jpg[/img][/align]
دریافت اثر انگشت SHA1 شما
به مسیر زیر بروید:
Window\Preferences Android\Build
اثر انگشت خود را پیدا کرده و کپی کنید.
[align=center]http://www.codeproject.com/KB/android/614946/05.jpg[/img][/align]
به پنجره کنسول Google Apis بروید.
[align=center]http://www.codeproject.com/KB/android/614946/06.jpg[/img][/align]
پروژه جدیدی ایجاد کنید.
[align=center][/align]
گزینه Google Maps Android API V2 را فعال کنید.
[align=center][/align]
روی Create New Android Key کلیک کنید.
[align=center]http://www.codeproject.com/KB/android/614946/09.jpg[/img][/align]
SHA1 را وارد کنید و بعد از آن ; و نام پکیج برنامه.
[align=center]http://www.codeproject.com/KB/android/614946/10.jpg[/img][/align]
اصلاح فایل AndroidManifest.xml
1- اضافه کردن تگ زیر قبل از تگ
android:name="com.example.osman.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> android:glEsVersion="0x00020000" android:required="true"/>
2- اضافه کردن کد زیر قبل از تگ
android:name="com.google.android.maps.v2.API_KEY" android:value="YOUR_KEY"/>
و MainActivity شما مانند کد زیر باشد.
import android.os.Bundle; import android.app.Activity; import android.support.v4.app.FragmentActivity; import android.view.Menu; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
برای استفاده از نشانگر در نقشه از کد زیر در فایلMainActivity استفاده کنید.
GoogleMap googleMap; googleMap = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap(); LatLng latLng = new LatLng(-33.796923, 150.922433); googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); googleMap.addMarker(new MarkerOptions() .position(latLng) .title("My Spot") .snippet("This is my spot!") .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); googleMap.getUiSettings().setCompassEnabled(true); googleMap.getUiSettings().setZoomControlsEnabled(true); googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 10));
-
-
فایل
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .