اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


پرچمداران


مطالب محبوب

در حال نمایش مطالب دارای بیشترین امتیاز از زمان 10/14/2018 در همه بخش ها

  1. 4 امتیاز
    ***قابل توجه دوستان عزیز.*** تو نسخه 2.5 متدهای کلیک برای ریسایکلر تغییر کرده اند و یه آرگومان به تابعها اضافه شده. تو این نسخه شما میتونید ویوی کلیک شده رو به صورت آبجکت داشته باشید و به راحتی میتونید اونو مدیریت کنید. توجه مثال زیر برای xml Sub pr_OnItemClick(contentTag As Object,viewclicked As Object,position As Int) Dim oi As PRViewUtils oi.init(viewclicked) oi.setTextForTextview("songnamtxt","cliked") End Sub برای بیسیک Private Sub pr_OnItemClick(ItemTag As Object,viewclicked As Object,position As Int) Dim st As String=ItemTag If "bt2".EqualsIgnoreCase(st) Then Dim bt As Button=viewclicked bt.Color=Colors.Red End If End Sub با سلام خدمت دوستان عزیز و همراهان همیشگی انجمن انسر سنتر بالاخره بعد از ماهها تلاش بی وقفه چیزی که قولش رو داده بودم آماده شد. یه نسخه کاملا متفاوت و جدید از کتابخونه بسیار کاربردی PersianRecyclerview. خیلی از دوستان با نسخه قبلی کتابخونه یه سری مشکلات داشتن. و خودم هم اعتقادم بر این بود که کار کردن باهاش یه کم پیچیده بود. خدا رو شکر توی نسخه حاظر تا جایی که امکان داشته کتابخونه رو ساده کردم و با چند خط کد به راحتی میتونید کتابخونه رو آماده و استفاده کنید. زحمت زیادی کشیده شده و امکانات بسیار زیاد و جذابی به کتابخونه اضافه شده که مطمئنا براتون جالب و حتی کاربردی خواهد بود. دوستانی که نسخه قبلی کتابخونه رو دریافت کردن میتونن از طریق پنل کتابخونه جدید و سورس رو دریافت کنن. و همچنین آموزش مقدماتی کار با کتابخونه رو از لینک زیر میتونن دریافت کنن. به زودی آموزشها قسمتها ی مختلف و امکانات جذاب کتابخونه توی همین تاپیک اضافه میشه. امیدوارم قدمی کوچک در راه توسعه نرم افزارهای ایرانی برداشته باشم . دوستان طبق معمول مارو از انتقادات و پیشنهادات سازنده خودتون بهره مند سازید. امیدوارم مورد استفاده قرار بگیره. لینک فروشگاه ***********************************************************************************آموزشهای مربوط به کتابخانه**************************************** 1-: قسمت اول آموزش مقدماتی کار با کتابخونه 2-: قسمت دوم آموزش(کار با لیوت منیجرهای کتابخانه قسمت 1) 3-: قسمت سوم(کار با لیوت منیجرهای کتابخانه قسمت 2) 4-: قسمت چهارم (کار با لیوت منیجر ها 3 (swipelayout)) 5:- قسمت پنجم(کار با لیوت منیجرها 4( steakyheader)) 6:-قسمت ششم(کار با لیوت منیجرها 5 (ویوپیجر لیوت منیجر)) 7:-قسمت هفتم(کار با انواع ریسایکلر ویوها شامل DiscreteScrollView , IndexRecyclervie , fastscrollrecycler ) 8:- قسمت هشتم (آموزش کار با treeview ویوی درختی) 9:- قسمت نهم(آموزش کار با گراف ویو (graphview)) قسمت های دوم و سوم و چهارم پنجم و ششم مباحث زیر آموزش داده میشه. 1- CardLayout 2- FanLayout 3-CarouselLayoutManager 4-FlexboxLayoutManager 5- LadderLayout 6- PickerLayout 7- StackLayout 8- TurnLayout 9-VegaLayout 10- سوایپ لیوت (swipelayout) 11- SteackyHeader 12- ویوپیجر قسمت هفتم مباحث زیر آموزش داده میشه. 1:- DiscreteScrollView 2:- FastScrollRecycler 3:- IndexRecycler قسمت هشتم مبحث treeview یا همون ویوی درختی آموزش داده میشه. پیشنمایش زیر treeview قسمت نهم graphview
  2. 2 امتیاز
    سلام روز دانشجو رو به همه بیکاران آینده تبریک عرض می کنم امیدوارم حالتون خوب باشه و خلاصه سرما خورده باشین اساسی :دی یکی از مواردی که باعث میشه برنامه هامون کمی جلوه بهتری داشته باشه همین انیمیشن هاست که در قسمت های مختلفی از برنامه اعمال می کنیم. بیشتر برنامه هایی که درست می کنیم مجبور به استفاده از RecyclerView هستیم و خوبه که بتونیم از این ویویی که پر کاربرده بهتر و قشنگترش کنیم. در طی یک جستجوی کوچولو تونستم یک کلاس پیدا کنم که انیمیشن های ساده ای رو داشت و خب به کار بنده اومد و شما اگر دوست داشتید می تونید باز این کلاس رو بهتزش کنید. کدهای کلاسمون » public class AnimationUtils { private static int counter = 0; public static void scaleXY(RecyclerView.ViewHolder holder) { holder.itemView.setScaleX(0); holder.itemView.setScaleY(0); PropertyValuesHolder propx = PropertyValuesHolder.ofFloat("scaleX", 1); PropertyValuesHolder propy = PropertyValuesHolder.ofFloat("scaleY", 1); ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, propx, propy); animator.setDuration(800); animator.start(); } public static void scaleX(RecyclerView.ViewHolder holder) { holder.itemView.setScaleX(0); PropertyValuesHolder propx = PropertyValuesHolder.ofFloat("scaleX", 1); ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, propx); animator.setDuration(800); animator.start(); } public static void scaleY(RecyclerView.ViewHolder holder) { holder.itemView.setScaleY(0); PropertyValuesHolder propy = PropertyValuesHolder.ofFloat("scaleY", 1); ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, propy); animator.setDuration(800); animator.start(); } public static void animate(RecyclerView.ViewHolder holder, boolean goesDown) { YoYo.with(Techniques.RubberBand) .duration(1000) .playOn(holder.itemView); // AnimatorSet animatorSet = new AnimatorSet(); // ObjectAnimator animatorScaleX = ObjectAnimator.ofFloat(holder.itemView, "scaleX" ,0.5F, 0.8F, 1.0F); // ObjectAnimator animatorScaleY = ObjectAnimator.ofFloat(holder.itemView, "scaleY", 0.5F, 0.8F, 1.0F); // ObjectAnimator animatorTranslateY = ObjectAnimator.ofFloat(holder.itemView, "translationY", goesDown == true ? 300 : -300, 0); // ObjectAnimator animatorTranslateX = ObjectAnimator.ofFloat(holder.itemView, "translationX", -50, 50, -30, 30, -20, 20, -5, 5, 0); // animatorSet.playTogether(animatorTranslateX, animatorTranslateY, animatorScaleX, animatorScaleY); // animatorSet.setInterpolator(new AnticipateInterpolator()); // animatorSet.setDuration(1000); // animatorSet.start(); } public static void animateToolbarDroppingDown(View containerToolbar) { containerToolbar.setRotationX(-90); containerToolbar.setAlpha(0.2F); containerToolbar.setPivotX(0.0F); containerToolbar.setPivotY(0.0F); Animator alpha = ObjectAnimator.ofFloat(containerToolbar, "alpha", 0.2F, 0.4F, 0.6F, 0.8F, 1.0F).setDuration(4000); Animator rotationX = ObjectAnimator.ofFloat(containerToolbar, "rotationX", -90, 60, -45, 45, -10, 30, 0, 20, 0, 5, 0).setDuration(8000); AnimatorSet animatorSet = new AnimatorSet(); animatorSet.setInterpolator(new DecelerateInterpolator()); animatorSet.playTogether(alpha, rotationX); animatorSet.start(); } /** * Courtesy: Vladimir Topalovic * * @param holder * @param goesDown */ public static void animate1(RecyclerView.ViewHolder holder, boolean goesDown) { int holderHeight = holder.itemView.getHeight(); holder.itemView.setPivotY(goesDown == true ? 0 : holderHeight); AnimatorSet animatorSet = new AnimatorSet(); ObjectAnimator animatorTranslateY = ObjectAnimator.ofFloat(holder.itemView, "translationY", goesDown == true ? 300 : -300, 0); ObjectAnimator scaleY = ObjectAnimator.ofFloat(holder.itemView, "scaleY", 1f, 0.4f, 1f); ObjectAnimator scaleX = ObjectAnimator.ofFloat(holder.itemView, "scaleX", 1f, 1.3f, 1f); animatorTranslateY.setInterpolator(new AccelerateInterpolator()); scaleY.setInterpolator(new OvershootInterpolator()); scaleX.setInterpolator(new OvershootInterpolator()); animatorSet.play(animatorTranslateY).before(scaleY).before(scaleX); animatorSet.setDuration(700); animatorSet.start(); } /** * Courtesy: Vladimir Topalovic * * @param holder * @param goesDown */ public static void animateSunblind(RecyclerView.ViewHolder holder, boolean goesDown) { int holderHeight = holder.itemView.getHeight(); holder.itemView.setPivotY(goesDown == true ? 0 : holderHeight); holder.itemView.setPivotX(holder.itemView.getHeight()); AnimatorSet animatorSet = new AnimatorSet(); ObjectAnimator animatorTranslateY = ObjectAnimator.ofFloat(holder.itemView, "translationY", goesDown == true ? 300 : -300, 0); ObjectAnimator animatorRotation = ObjectAnimator.ofFloat(holder.itemView, "rotationX", goesDown == true ? -90f : 90, 0f); ObjectAnimator animatorScaleX = ObjectAnimator.ofFloat(holder.itemView, "scaleX", 0.5f, 1f); animatorSet.playTogether(animatorTranslateY, animatorRotation, animatorScaleX); animatorSet.setInterpolator(new DecelerateInterpolator(1.1f)); animatorSet.setDuration(1000); animatorSet.start(); } /** * Courtesy: Vladimir Topalovic * * @param holder * @param goesDown */ public static void animateScatter(RecyclerView.ViewHolder holder, boolean goesDown) { counter = ++counter % 4; int holderHeight = holder.itemView.getHeight(); int holderWidth = holder.itemView.getWidth(); View holderItemView = holder.itemView; holderItemView.setPivotY(goesDown == true ? 0 : holderHeight); holderItemView.setPivotX(holderWidth / 2); AnimatorSet animatorSet = new AnimatorSet(); ObjectAnimator animatorTranslateY = ObjectAnimator.ofFloat(holderItemView, "translationY", goesDown == true ? 300 : -300, 0); ObjectAnimator animatorTranslateX = ObjectAnimator.ofFloat(holderItemView, "translationX", counter == 1 || counter == 3 ? holderWidth : -holderWidth, 0); ObjectAnimator animatorScaleX = ObjectAnimator.ofFloat(holderItemView, "scaleX", counter == 1 || counter == 2 ? 0 : 2, 1f); ObjectAnimator animatorScaleY = ObjectAnimator.ofFloat(holderItemView, "scaleY", counter == 1 || counter == 2 ? 0 : 2, 1f); ObjectAnimator animatorAlpha = ObjectAnimator.ofFloat(holderItemView, "alpha", 0f, 1f); animatorAlpha.setInterpolator(new AccelerateInterpolator(1.5f)); animatorSet.playTogether(animatorAlpha, animatorScaleX, animatorScaleY, animatorTranslateX, animatorTranslateY); animatorSet.setDuration(800).setInterpolator(new DecelerateInterpolator(1.1f)); animatorSet.start(); } // ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(holder.itemView, "translationY", (positive == true ? 200.0F : -200.F), 0F); // objectAnimator.setInterpolator(new DecelerateInterpolator()); // objectAnimator.setDuration(1000); // objectAnimator.start(); // YoYo.with(Techniques.StandUp).duration(800).playOn(holder.itemView); // AnimatorSet animatorSet = new AnimatorSet(); // Animator scaleVertical = ObjectAnimator.ofFloat(holder.itemView,"scaleY",1.0F,0.8F,1.2F,1.4F,1.6F,1.4F,1.2F,0.8F,1.0F).setDuration(2000); // Animator rotateY = ObjectAnimator.ofFloat(holder.itemView,"rotationY",0,5,10,15,20,25,30,25,20,15,10,5,0).setDuration(2000); // //ObjectAnimator.ofFloat(holder.itemView,"scaleY",1.0F,0.8F,1.2F,1.4F,1.6F,1.4F,1.2F,0.8F,1.0F).setDuration(2000) // //ObjectAnimator.ofFloat(holder.itemView,"rotationY",0,5,10,15,20,25,30,25,20,15,10,5,0).setDuration(2000); // // animatorSet.playTogether(rotateY, scaleVertical); // animatorSet.start(); // } خب این کلاس از کتابخونه های مختلفی استفاده کرده که نیازه توی گریدل این هارو کامپایل کنیم ( به قول بچه ها سینکشون کنیم ) این 3 تا خط کد رو توی فایل dependencies قرارشون بدین و Sync کنید. compile 'com.nineoldandroids:library:2.4.0' compile 'com.daimajia.easing:library:1.0.1@aar' compile 'com.daimajia.androidanimations:library:1.1.3@aar' در ادامه نحوه استفاده از این کلاس » - خب ابتدا توی کلاس آداپتر به صورت عمومی یا پابلیک یک متغییر Integer تعریف می کنیم private int mPreviousPosition = 0; - کار بعدی که فقط نوشتن یک شرط ساده با یک خط کد کارمون انجام میشه و این شرط رو باید در متد onBindViewHolder بنویسیم. if (position > mPreviousPosition) { AnimationUtils.animate1(holder,true); } else { AnimationUtils.animate1(holder, false); } mPreviousPosition = position; اون position هم مربوط به تابع onBindViewHolder میشه و ما تعریف نکردیم! خب این کلاس چندین Animation داره که بنده به عنوان مثال animate1 رو نوشتم.دلیل اینکه دوبار این کد نوشته شده این هستش هر دو جهت یعنی بالا و پایین باهم آیتم ها دارای انیمیشن باشن. نمونه » خب آموزش تا همینجا به اتمام میرسه ان شاءالله که مورد استفاده باشه.
  3. 2 امتیاز
    بعد از مدت ها برگشتم با کوله باری از تجربه از اندروید گرفته تا برنامه نویسی آی او اس! شما می توانید مقالات مربوط به برنامه نویسی بنده را از اینجا بخوانید.
  4. 2 امتیاز
    باسلام من چندراه به شما میگم اگه متغییر باشه که خب معمولا تو پراسس گلوبال تعریفش کنی میتونی تو بقیه اکتیویتی ها هم ازش استفاده کنی به این شکل Sub Process_Globals dim txt as string end sub حالا استفاده در اکتیویتی دیگر : Main.txt = mytext بجای مین هم نام اکتیویتی رو بزار که توش متغیر و گذاشتی حالا برای اون منویی که گفتی از استفاده از کد ماژول میشه از قسمت پروژه یک کد ماژول بساز و کد هاتو بزار توش حالا هر اکتیویتی که میخوای به این شکل فراخوانی کن Sub Process_Globals End Sub public sub toast toastmessageshow("متن تست",true) end sub برای استفاده اکتیویتی دیگر Sub Activity_Create(FirstTime As Boolean) codemodule.toas End Sub اینجا یک توست مسیج میده . موفق باشید
  5. 2 امتیاز
    شما باید از ماژول کد تو بیسیک استفاده کنید. از منوی زیر یه دونه code module بسازید و کدهاتونو اونجا بنویسید و تو کل پروژه ازش استفاده کنید.
  6. 2 امتیاز
    سلام خدمت آقای شاهپیری عزیز واقعا دست مریزاد.ممنون، خیلی کار باهاش راحت وساده شده وپیچیدگی سابق رو نداره . اما شاید یک چیزی که کاربران خصوصا کاربران مبتدی براشون سخت باشه کار با کدهای Xml و ساخت فایل Xml برای ریسایکلر ویو هست که اگر محضرتان جسارت نباشه ، با اجازه شما یک سایتی را برای ساخت ویوهای بسیار زیبا با خروجی فایل Xml خدمت دوستان انجمن برای بهره گیری ازآن در ریسایکلر ویو معرفی کنم : آدرس سایت : Android Button Maker این سایت دارای قابلیت های زیر می باشد: تعیین اندازه ویو ها تعیین پس زمینه رنگ ویو ها حتی سه رنگی با تعیین محل نور پردازی وتنظیم مقدار محیطی رنگ تعیین رنگ متن داخل ویو سایه گذاری برای متن داخل ویو وتعیین محل سایه و تعیین درصد پراکندگی وتراکم سایه تعیین محل قرارگیری متن درداخل ویو تعیین مقدار خمیدگی زاویه های اطراف ویو ها قرار دادن کار حاشیه ویو وتنظیم ضخامت آن و تعیین رنگ آن * نکته: این سایت دو بخش مخصوص خروجی کد Xml دارد که دقت شود :کدهای داخل بخش Button را در داخل فایل Xml دلخواه در پوشه layout قرار بدهید و کدهای خروجی موجود در بخش buttonshape را در داخل فایل xml دلخواه (مثلا :litem.xml) در پوشه drawable که در پوشه res باید خودتان بسازیدش، قرار بدین .البته اسم این فایل xml رو هرچی بگذارید باید بیایید وداخل فایل (litem.xml) در سطری که نوشته (android:background="@drawable/buttonshape") بجای buttonshape ،اسم اون فایل رو جایگذاری نمایید . به همین راحتی! برای نمونه خروجی ویو های این سایت ، نمونه ای براتون در زیر ارسال میکنم . کدهای بیسیک فور برای این مثال : Sub pr_onBindViewHolder(layoutitem As Object,position As Int,viewtype As Int) Dim prutil As PRViewUtils prutil.init(layoutitem) prutil.setTextColorForTextview("txt",Colors.Green) prutil.setTextForTextview("txt","متن : "&position&" ") Dim button_shape_left_buttom As PRViewUtils button_shape_left_buttom.init(layoutitem) button_shape_left_buttom.setTextColorForTextview("button_shape_left_buttom",Colors.Red) button_shape_left_buttom.setTextForTextview("button_shape_left_buttom", "چ پایین"&position) Dim button_shape_left_top As PRViewUtils button_shape_left_top.init(layoutitem) button_shape_left_top.setTextColorForTextview("button_shape_left_top",Colors.Red) button_shape_left_top.setTextForTextview("button_shape_left_top", "چ بالا"&position) Dim button_shape_right_buttom As PRViewUtils button_shape_right_buttom.init(layoutitem) button_shape_right_buttom.setTextColorForTextview("button_shape_right_buttom",Colors.Red) button_shape_right_buttom.setTextForTextview("button_shape_right_buttom","ر پایین"&position) Dim button_shape_right_top As PRViewUtils button_shape_right_top.init(layoutitem) button_shape_right_top.setTextColorForTextview("button_shape_right_top",Colors.Red) button_shape_right_top.setTextForTextview("button_shape_right_top", "ر بالا"&position) End Sub => ( لینک پوشه res مخصوص این نمونه ) آدرس سایت های مشابه برای این منظور: Android Drawble Generator Online XML Shapes Generator for Android Android Button Maker سایت ویرایشگر آنلاین کد های ویو در Xml به همراه نمایش خروجی کدها: Android Visualizer
  7. 2 امتیاز
    عزیزان مدت هاست که به صورت جدی دارم برنامه نویسی رو یاد میگیرم. ۲ تا پکیج اموزش ویدیویی اموزش جاوا رو تموم کردم و همچنین یک پک آموزشی کاتلین رو. کم و بیش با جاوا اشنا هستم و مفاهیم رو میشناشم. اما واقعا الان نمیدونم کجای راه قرار دارم.. تا به حال هیچ برنامه اندرویدی ننوشتم و بیشتر تمرینم در واقع دیدن ویدویو ها و خوندن مطالب مرتبط با برنامه نویسی بوده... الان چند تا کتاب اموزش اندروید گرفتم که هر کدوم حدود ۴۰۰۰ صفحه اموزش به زبان انگلیسی هستن.وقتی این حجم از مطالب رو میبینم حقیقتا ترس برم میداره که چطور میتونم ادامه بدم... ایا اصلا امکان داره؟ یعنی برنامه نویس های دیگه هم چندین هزار صفحه مطالعه انگلیسی داشتن؟ از طرفی نمیتونم قید این حرفه رو بزنم چون علاقه اصلی منه. و هیچ کاری غیر این رو دوست ندارم. در واقع الان که از دانشگاه رشته زبان فارغ تحصیل شدم اومدم سمت علاقه اصلیم... دوستان میتونن در مورد حرف هایی که زدم توضیحاتی به من بدن؟میتونین راهی مناسب به من معرفی کنید؟
  8. 2 امتیاز
    نیازی به این همه کتاب و این چیزا نیست دوست عزیز همه مون اولش مثل شما بودیم و سر چند راهی گیر کرده بودیم اول اینکه شما چند وقته دارید آموزش هارو میبینید و دوتا پک آموزشی هم تموم کردی یه سوال چرا برنامه ای ننوشتید؟ و وقتی کد نمیزنید چطور انتظار دارید برنامه نویسی رو درک کنید؟ ساختار یه برنامه رو درک کنید؟ بشینید و چندتا برنامه ی تمرینی بنویسید مثلا دفترچه یادداشت که میتونید توش کار با دیتابیس و ساخت تنظیمات رو یاد بگیرید یا مثلا یه گالری تصاویر و... بذار یه چیزی رو بهتون بگم داداشم تا وقتی دست به کد نشدی هیچ چیزی یاد نمیگیری تو برنامه نویسی دونستن مفاهیم و خوندن و به روز بودن و حتی دونستن چگونگی کارکرد برنامه ها خوبه که هیچ عالیه اما تا وقتی شما نتونی تبدیل به کد بکنیشون هیچ ارزشی نداره و دنیا پره از آدمایی که فقط میخونن اما عمل ندارن ... نصیحت من به شما اینه که اول بشینی یه پروژه تمرینی بنویسی دوم اینکه هرجا ارور یا مشکلی داشتی سرچ کنی ( با استک اورفلو و سایت های ارائه راه حل آشنا شو ) و مهمتر از همه اینکه خودتو درگیر دوراهی ها و... نکن یهو خودتو بنداز وسط ببین چند چندی موفق باشی
  9. 2 امتیاز
    نسخه جدید 4.5 اضافه شدن ساخت خصوصیات بیشتر برای ویوها با فعال کردن Create Extra اضافه شدن دکمه ذخیره تنظیمات به تب Settings کد تخفیف %25 ، برای 2 نفر تا ساعت 24 امروز : MC7B4ADesigner
  10. 2 امتیاز
    سلام خدمت شما دوست عزیز. برای اینکه حالت صفحه موقع چرخیدن حفظ بشه باید کد زیر رو به اکتیویتیتون اضافه کنید از طریق منیفست SetActivityAttribute(Main, android:configChanges, "orientation|screenSize|keyboardHidden") به جای main اکتیوتی خودتون رو بزارید. و اما برای اینکه طول و عرض وب ویو موقع چرخیدن حفظ شه باید از کتابخونه imei و javaobject کمک بگیرید. قطعه کد زیر رو براتون قرار میدم شما مطابق نیازتون ازش استفاده کنید. Sub Globals Private ime1 As IME Private WebView1 As WebView Private ActivityParent As JavaObject End Sub Sub Activity_Create(FirstTime As Boolean) WebView1.Initialize("wb") Activity.AddView(WebView1, 0, 0, 100%x, 100%y) ime1.Initialize("ime1") ime1.AddHeightChangedEvent WebView1.LoadUrl("http://www.google.com") Dim jo As JavaObject = Activity jo.RunMethodJO("getContext", Null).RunMethodJO("getWindow", Null).RunMethod("setSoftInputMode", _ Array As Object(0x20)) ActivityParent = jo.RunMethodJO("getParent", Null) End Sub Sub IME1_HeightChanged (NewHeight As Int, OldHeight As Int) CallSubDelayed(Me, "AfterChange") End Sub Sub AfterChange Dim ajo As Panel = Activity Dim width As Int = ActivityParent.RunMethod("getMeasuredWidth", Null) Dim height As Int = ActivityParent.RunMethod("getMeasuredHeight", Null) If width = 0 Or height = 0 Then Return ajo.Width = width 'update the "activity" width and height ajo.Height = height WebView1.Width = width WebView1.Height = height End Sub Sub Activity_Resume AfterChange End Sub
  11. 2 امتیاز
    نسخه جدید 4.4 اضافه شدن ویژگی جدید برای ساخت یکسری از متدهای پیشفرض برای ویوها (با فعال کردن تیک Create Extra)
  12. 2 امتیاز
    هر دو این متدها از ، Alarm Manager سیستم استفاده میکنند برای اجرا شدن سرویس.
  13. 2 امتیاز
  14. 2 امتیاز
    گوگل چند وقتی میشه که استفاده از امکانات نقشه رو برای توسعه دهندگان پولی کرده ، 200 دلار ماهیانه ، پس بهتره از نقشه های بومی استفاده کنیم ، امروز به صورت رایگان این کتابخانه رو بدون دریافت حتی 1 ریال ، برای پارسی جو و نرم افزار B4A پیاده سازی شد. ( حمایت بیشتر از توسعه دهندگان ایرانی ) نسخه : 1.1 نرم افزار : B4A وبلاگ سایت پارسی جو دمو در داخل آپارات دانلود از طریق گیت هاب
  15. 2 امتیاز
    سورس Expandable Panel کلاس رو از سایت مرجع گرفتم یه کم تغییرات دادم مثل لود لایوت و تنظیم سرعت دوستانی که نیاز دارن میتونن کاملا بر حسب کارشون کاستومایزش کنن فایل گیف رو مشاهد کنید لطفا! دانــــــــــــــــــــــلود کنیــــــــــــــــــــــــــــــــــــــد
  16. 2 امتیاز
    پست ویرایش شد و تداخل با کتابخانه M_Secure_SharedPrefrence برطرف شد با عرض پوزش دوستان گلم سلام مجدد کتابخونه M_Secure_SharedPrefrence که معرف حضورتون هست همونطور که میدونید اطلاعات این کتابخونه تو فایل xml ذخیره میشه اما برای کسایی که میخوان اطلاعات رمز شده رو توی دیتابیس یا هر جا که میخوان ذخیره کنن یه محدودیت هست بنابر این تصمیم گرفته شد تا این محدودیت نیز برداشته بشه (البته برای داه های کم همین کتابخونه بهترینه) تمامی الگوریتمها ی رمزنگاری در این کتابخانه هم موجوده و دقیقا شبیه به هم هستند فقط دیگه فایل جایی ذخیره نمیشه فقط متن incript شده برگردونده میشه نحوه استفاده به شکل زیر هست دوباره تعریف و اینشیالایز حتما با پسورد ترکیبی و پیچیده Dim sh As M_Secure_Data sh.initialize("yourpass") اما نحوه رمز نگار مثلا فرض کنیم میخوایم متن answercenter رو توی یه فایل استرینگ ذخیره کنیم(هرجایی که دلتون میخواد مثلا دیتابیس و .... ) File.WriteString(File.DirDefaultExternal,"aa.txt",sh.ConvertStringToSecurString("answercenter")) حالا نحوه خوندن (دقت کنید فقط متن اینکریپت شده بدید که خطا نگیره) ToastMessageShow(sh.getsecurString(File.ReadString(File.DirDefaultExternal,"aa.txt")),False) امید وارم از این کتابخونه هم استفاده کافی رو ببرید پسند فراموش نشه هر مشکلی یا باگی بود خواهش میکنم همینجا ذکر کنید تا برطرف شه M_Secure_Data.zip
  17. 1 امتیاز
    توی این کلیپ پنل Designer رو کامل توضیح دادم و آموزش دادم که برنامه نویس چطور می تونه در اسکریپت دیزاینر مکان آیتم ها رو طوری کد نویسی کنه که برای سایز های مختلف صفحه نمایش گوشی قابل اجرا باشه و دچار تغییر نشه. اولین آموزش تصویریم هست و انتقادی داشتین بگین توی کارای بعدی اصلاحش کنم. خیلی ساده توضیح دادم تا واسه تازه کارا قابل فهم باشه(کهنه کارا ببخشن.) دو تا نکته هم واسه کهنه کارا داره که شاید توجه نکرده باشن. http://s5.picofile.com/file/8159526334/ScriptDesigner.rar.html پسورد فایل: basic4android.org آموزش نکات طراحی کاربری حرفه ای شامل موارد زیره و تا فردا پر میشه: مدیریت مکان ها آیتم ها در هنگام چرخش صفحه. استیت لیست درابل برای ساخت button حرفه ای. ساخت عکس هایی که در هنگام کشیده شدن خراب نشوند.(Nine-Patch) nine-Patch و استفاده از آن برای طراحی آیتم های حرفه ای. استفاده از محتویات UI-Pack برای طراحی رابط کاربری حرفه ای. افزودن ویو ها بدون دیزاینر و با استفاده از کد نویسی در IDE. اینم لینک آموزشا: http://answercenter.ir/topic/7029-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%B1%D8%A7%D8%A8%D8%B7-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%DB%8C-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8Cnine-patch-directionmanagment-ui-pack/ .......................................................................
  18. 1 امتیاز
    behnam_tr

    حرکت متن اسکرول

    یه سورس میذارم ببینید منظورتون اینه scrolllabel
  19. 1 امتیاز
    M-CAP7AIN

    دیتابیس آنلاین

    نمی تونید روش های مختلف رو ترکیب کنید ، اگه بشه هم قشنگ نیست این حرکت یا از PDO استفاده کنید یا mysqli
  20. 1 امتیاز
  21. 1 امتیاز
    سلام دوستان امیدوارم که حال همگی خوب باشه عرض به حضورتون که امروز و اینجا میخاستم اولین کتابخونه ای که برای بیسیک فور اندروید نوشتم رو معرفی کنم اول اینکه خیلی خوشحالم که تونستم یه کتابخانه بنویستم به نظر خودم خیلی هنر کردم!! دوم اینکه کتابخانه ای هست که خودم همیشه دنبالش بودم و چیز درست درمون نبود برای بیسیک یا اگر بود پولی بود خوب کتابخانه Padina_music streamer برای استریم کردن موزیک با قابلیت هایی همچون getposition seekto getfilesize getfilename گرفتن زمان موزیک هم برحسب فرمت زمانی معمول هم بر حسب میلی ثانیه گرفتن موقعیت پخش موزیک هم برحسب فرمت زمانی معمول هم بر حسب میلی ثانیه امکان تنظیم تنظیم سیک بار و دیگه بقیه کارارو خودش انجام میده ! چون همه چی دستتون هست میتونید روی هر ویوی دیگه ای هم که پروگس داره پیاده کنید خیلی راحت ** استفادش خیلی اسونه باز اگر مشکلی بود در تاپیک مطرح کنید امیدوارم به کارتون بیاد شاد باشید. لینک دانلود نسخه 1.0 (1397/03/17) لینک دانلود نسخه 1.1 + سمپل (1397/03/18) لینک دانلود نسخه 1.2 + سمپل (1397/03/28) -اضافه شدن دو event -اصلاح تابع گرفتن نام موزیک در حال پخش
  22. 1 امتیاز
    آموزش کار با کتابخانه کلاس های این کتابخانه تصاویر رو به صورت آرایه ای از اعداد گرفته و به همون صورت به ما می دهند که جهت آسان کردن این تبدیلات از متدهای زیر استفاده نمایید. Dim ir As irBMPUtils Dim arr() As Int=ir.bitmapToIntArray(bmp) ir.toBitmap(arr,bmp.Width,bmp.Height) معمولا هر کلاس متدی به نام filter دارد که می توان با آن افکت را اعمال نمود مثلا Dim ir As irBMPUtils Dim ir2 As irGrayscaleFilter Dim bmp As Bitmap=LoadBitmap(File.DirAssets,"a.jpg") Dim h As BitmapDrawable h.Initialize(ir.toBitmap(ir2.filter(ir.bitmapToIntArray(bmp),bmp.Width,bmp.Height),bmp.Width,bmp.Height)) Activity.Background=h در مثال بالا تصویر سیاه و سفید می شود «موفق باشید.»
  23. 1 امتیاز
    سلام ، اول از این که ویرایش و دیکامپایل برنامه های دیگران کار درستی و نیست و مارکت ها برنامه های ویرایش شده رو قبول نمی کنند.دوم از این که برنامه ها هم در بیسیک پس از کامپایل به زبان جاوا تبدیل می شوند و در نهایت باید جاوا یادبگیرید. تاپیک هم به علت حفظ امنیت برنامه های اندرویدی بسته شد.
  24. 1 امتیاز
    سلام ببینید، این کدهای php هستن برای نوشتن متن توی فایل متنی بهتره فایل متنی و فایل php پیش هم باشن، این از این برای نوشتن متن و جایگزین شدن متن قبلی در این کد، باید 'w' بذارید مثل زیر fopen($FileName, 'w') وبرای نوشتن در ادامه فایل قبلی، در این کد به جای 'w' از 'a' استفاده میکنیم کدهای php <?php $matn = $_POST["text"]; $FileName = "myFile.txt"; $FileHandle = fopen($FileName, 'w') or die("can't open file"); $stringData = "$matn"; fwrite($FileHandle, $stringData); fclose($FileHandle); ?> خوب، یه متغیر هم تعریف کردیم به اسم $matn که میاد و متن بیسیک رو که پست کردیم میگیره خوب، نحوه پست در بیسیک هم به شکل زیره تیک زدن کتابخونه HttpUtils2 تعریف متغیر در گلوبال dim ht as httpjob اینیشیالایز کرد در اکتیویتی کریت ht.initialze("job1",me) کد زیر رو میذاری در رویداد کلیک یک دکمه یا هر جای دیگه ای که میخوای یه ادیت تکست هم داریم که میخوایم متنشو بفرستیم به فایل php تا php هم بریزه تو فایل تکست ht.postString("adress_phpFile_in your Host",edittext1.text) خوب تا اینجا اطلاعات پست شد، حالا وقتی پست شد چی بشه توی بیسیک؟ یه sub اضافه میکنیم به شکل ساب زیر sub jobdone(job as httpjob) if job.success = true then if job.getstring = "can't open file" then msgbox("اشکال در ارسال اطلاعات","error") else msgbox("done","") end if end if end sub این عبارت هم can't open file اگر مشکلی پیش بیاد، فایل php ما مینویسه روی صفحه من اومدم چک کردم که اگه این فایل روی صفحه بود، بگه خطا و .... موفق باشید
  25. 1 امتیاز
    این نحوه بز کردن سورس هس برای اضافه کردن کتابخانه هم برو به محلی که بیسیک نصب شده به صورت پیش فرض ادرس ش این هست C:\Program Files\Anywhere Software\Basic4android بعد هم کافیه بری توی پوشه ی Libraries و کتابخانه هارو اوجا کپی کنی کتابخانه ها همیشه دوتا فایل هس اسم هردوتا فایل یکیه ولی پسوندشون فرق داره دوتا فایل با دو پسوند xml و jar