رفتن به مطلب

محمدرضا شاهپیری

مدیر کل سایت
  • تعداد ارسال ها

    4,092
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    791

پست ها ارسال شده توسط محمدرضا شاهپیری

  1. کتابخونه مشکلی با appcompat نداره عزیز و اصن تداخلی ندارن با هم. دقت کنید که درست اینشیالایز کرده باشید.

    در 32 دقیقه قبل، mja89 گفته است :

    سوال دوم اینه راهی دارم بدون استفاده از xml کاری کنم ارتفاع ریسایکلر نسبت به ارتفاع متن هر کدوم از فیلد ها تنظیم بشه؟؟

    من این قسمت رو متوجه نشدم منظورتونو.؟ میخواین آیتمها سایزشون نسبت به ارتفاع متنشون کم و زیاد بشه؟ اگه فقط آیتمهاتون لیبل هست میشه یه کاریش کرد اگه ویوهاش زیاده سخت میشه یه کم. 

    اطلاعاتی که دادین کم هست عزیز. بیشتر توضیح بدین ببینم چه کار میشه کرد.

  2. در در 1397/10/15, 16:22:29، godping گفته است :

     

    سلام. دقیقا مشکلتون کجا هست دوست عزیز؟

    لیوت منیجر  flex بدون xml خیلی سخت میشه. چون لیوت بیسیک خیلی ضعف داره و سایزبندیش واقعا مشکله.

    اینکه xml چی هست که توی نت توضیحات زیاده و دوستمون توی کامنت زیر توضیحات کامل رو دادن

    در در 1397/07/30, 05:47:00، نورنما گفته است :

    با اجازه شما یک  سایتی را برای ساخت ویوهای بسیار زیبا با خروجی فایل Xml خدمت دوستان انجمن برای بهره گیری ازآن در ریسایکلر ویو معرفی کنم :

     

    آدرس سایت :

    Android Button Maker

     

     این سایت دارای قابلیت های زیر می باشد:

    تعیین اندازه ویو ها

    تعیین پس زمینه رنگ ویو ها حتی  سه رنگی با تعیین محل نور پردازی وتنظیم مقدار محیطی رنگ 

    تعیین رنگ متن داخل ویو 

    سایه گذاری برای متن داخل ویو وتعیین محل سایه و تعیین درصد پراکندگی وتراکم سایه 

    تعیین محل قرارگیری متن درداخل ویو 

    تعیین مقدار خمیدگی زاویه های اطراف ویو ها 

    قرار دادن کار حاشیه ویو وتنظیم ضخامت آن و تعیین رنگ آن 

     

    * نکته: این سایت دو بخش مخصوص خروجی کد Xml دارد که دقت شود :کدهای داخل بخش Button را در داخل فایل Xml دلخواه  در پوشه layout قرار بدهید 

    و کدهای خروجی موجود در بخش buttonshape را در داخل فایل xml دلخواه (مثلا :litem.xml) در پوشه drawable که در پوشه res باید خودتان بسازیدش، قرار بدین .البته اسم این فایل xml رو هرچی بگذارید

    باید بیایید وداخل فایل (litem.xml) در سطری که نوشته (android:background="@drawable/buttonshape")  بجای buttonshape ،اسم اون فایل رو  جایگذاری نمایید .

    به همین راحتی! 

    برای نمونه خروجی ویو های این سایت ، نمونه ای  براتون در زیر ارسال میکنم .

     

    Untitled.png.f58fa42bd181fa78d0b2dc9bb3d6f4a3.png

     

    کدهای بیسیک فور برای این مثال :

    
    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

    . ولی کلی به این صورت هست که قسمت بصری و گرافیکی توی اندروید رو با xml مینویسن. و کارش مدیریت ویوها مثل باتن ادیت تکست و ... هست.

    دقیقا شبیه لیوت بیسیک که از طریق دیزاینر ما مدیریتش میکنیم.

    StaggeredGridView  هم چیز خاصی نداره. مثل graidview هست. 

  3. در 7 ساعت قبل، mykimia گفته است :

    حق با شما بود.

    مشکل از کتابخونه irSocket.io  هست که با PersianFastNetwork  تداخل داره و باعث اون خطا میشه. یه پروژه خام اگه باز بفرمایید و این دوتا کتابخونه رو اد کنید متوجه خطاش میشید. راهی برای حل این تداخل هست؟ 

    بله عزیز از کتابخونه ویرایش شده زیر استفاده کنید. دقت کنید فقط برای این پروژه که PersianFastNetwork هست تو کتابخونه هاتون مشکلی ایجاد نمیکنه. برای باقی پروژه هاتون از همون نسخه اصلی استفاده کنید

    (irSocket.io-client).zip

  4. در 2 ساعت قبل، godping گفته است :

    سلام خدمت اسناد عزیز

    سلام خدمت شما دوست گرامی.  این که سادس عزیز. شما برای کنترل کردن ویوها کلیک و ... از متد OnItemClick استفاده کنید.  یه تگ بدین به باتنتون مثلا btn و به شکل زیر

    Private Sub pr_OnItemClick(ItemTag As Object,viewclicked As Object,position As Int)
    	If "btn".EqualsIgnoreCase(ItemTag) Then
    		StartActivity(youract)
    	End If
    End Sub

     

  5. در 29 دقیقه قبل، mykimia گفته است :

    سلام

    جناب شاهپیری چرا این کتابخونه با کتابخونه PersianFastNetwork تعارض داره. من اون کتابخونه دیگه شما هم که مثل این عالی هست رو استفاده میکنم. اما این دو تا با هم سازگار نیستن.

    وقتی کتابخونه PersianRecyclerView در پروژه باشه به درستی لود میشه و کار میکنه اما وقتی PersianFastNetwork اضافه میکنم به پروژه این خطا میده موقع لود پروژه:

     

     

    سلام خدمت شما.

    عزیز این دوتا کتابخونه هیچ ارتباط و تداخلی با همدیگه ندارن اصلا. و این پکیج (Lokhttp3/Authenticator$1) توی ریسایکلر وجود نداره اصلا.

    مشکل از تداخل کتابخونه PersianFastNetwork با کتابخونه ی دیگه ای هست. لیست کتابخونه هاتون رو بزارید ببینم

  6. در ۱ ساعت قبل، ForI گفته است :

    از وقتی که گذاشتید و سورس زدید ممنونم

    توی سورس شما به درستی کار میکرد و تنها اختلاف کار ما و شما آداپتر هست که شما از PRVXmlAdapter و ما از PRVB4AAdapter استفاده کردیم و در نتیجه مشکل اسکرول در PRVB4AAdapter هست. که نیاز به بررسی مجدد توسط شما داره.

     

    اسکرول ربطی به آداپتر نداره عزیز. مربوط به خود ریسایکلر هست.

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

    b4alayoutsorce.zip

    • پسندیدن 1
  7. در 9 ساعت قبل، ForI گفته است :

     

    عزیز نسخه جدید با نسخه قبلی زمین تا آسمون فرقشه و کلا سیستم و عملکرد کتابخونه فرق کرده.

    والان واقعا عجیبه که میگین اسکرول کار نمیکنه چون من چندین بار تست کردم و هم ابتدا و هم انتها و هم پوزیشن موقع اسکرول مشخصه یه سورس نوشتم که میتونید خودتون تست کنید و ببینید.

    prscroll.zip

    نهایتا دیگه اگه خیلی واجبه توی خصوصی پروژه و اون کلاس یا متدی که مشکل داره رو بگید تا من بررسی کنم.

  8. در 7 دقیقه قبل، ForI گفته است :

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

    ممنون

    دوست عزیز تست شده و هیچ موردی نداره.

    دقت داشته باشید که حتما باید اسکرول رو فعال کنید تا بتونید استفاده کنید. کد زیر یعنی

    PersianRecyclerView1.setScrollEndListener

     

    • پسندیدن 1
  9. در 7 ساعت قبل، ForI گفته است :

    سلام تشکر از پیگیریاتون
    پروژه بسیار حجیمی هست و متاسفانه بخاطر محدودیت زمانی امکان بازنویسی با کتابخانه جدید فلن مقدور نیست، ایشالا بعدا

    همین کتابخانه قدیمی رو که اپدیت کردید مشکل دیگه ای پیدا کرد اینه که به ته لیست میرسه تشخیص نمیده که آیتم های جدید رو لود کنه
    لطفا این مشکلات رو در این نسخه رفع کنید تا کار ما به پایان برسه و بتونیم پس از انتشار برنامه شروع، به بازنویسی با کتابخونه جدید کنیم.

    سپاس

    نسخه جدید کتابخانه قدیمی بارگزاری شد. و به صورت زیر میتونید تمام اطلاعات لازم رو هنگام اسکرول بگیرید دقت کنید اسم کتابخونه رو یه old اضافه کردم که با کتابخونه جدید اشتباه نشه. کتابخونه رو درست تیک بزنید

    Private Sub pr_onRecyclerScroll(position As Int,dy As Int ,isFirst As Boolean,isEnd As Boolean)
    	If isFirst Then
    		Log("is first")
    	End If
    	If isEnd Then
    		Log("isEnd")
    	End If
    	Log("dy is: "&dy)
    	Log("position is: "&position)
    End Sub

     

    • پسندیدن 1
  10. در در 1397/10/04, 14:31:53، نورنما گفته است :



    سلام 

    خیلی ممنون از راهنماییتون 

    1-  اینکار رو کردم ولی ریسایکلر اندازه باکس سرشاخه نمودار رو برابر اندازه متن قرار میده ولی در زیرشاخه ها اندازه باکسها هم اندازه باکس اول میشود ومتن در یک سطر نمایش داده میشه ،مثل تصویر اول میشه ، کمی تغییرش دادم  ومثل تصویر دوم متن رو چندخطی نشون میده ولی باز سایز باکس زیرشاخه ها بااندازه متن سرشاخه یکی شدندو نه با متن خودشان !. 

    سورس رو خدمتتون ارسال میکنم .

     

    graph_XML_layout

     

    2- برای باکسها در Xml سایه داده ام  ولی سایه برای زیرشاخه آخری رو نمایش نمیدهد.

     

    3- چطور می توان موقع نمایش ریسایکلر ، اندازه نمایش نمودار رو به حداکثر میزان خود نمایش داد؟ یا عدد خاصی برای زوم داد؟ 

     

    4- آیا بیش از این مقدار زوم میشه  حداکثر زوم رو دو یاسه برابر بیشتر از اندازه فعلی کرد؟ چون وقتی متن باکس ها طولانی میشود، در نمودارهای طولانی ، باوجود اینکه به آخرین حد زوم ، نمودار رو بزرگ میکنیم باز متن باکسها قابل مطالعه نیست!

    با سلام. متاسفانه مورد سایزبندی اتوماتیک رو نتونستم کاری بکنم چون کتابخونه مرجعش این امکان رو نداره و اضافه کردنش کار زمانبریه.اما فایل xml رو براتون ویرایش کردم و بهتر شده ساختارش.

    مورد زوم رو نسخه جدید دریافت کنید.

    فایل xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.CardView
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:card_view="http://schemas.android.com/apk/res-auto"
     android:id="@+id/card_view"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_gravity="center"
     android:gravity="center"
     android:tag="CardView"
     card_view:cardBackgroundColor="@android:color/holo_blue_dark"
     card_view:cardElevation="5dp"
     card_view:contentPadding="5dp">
     
    <RelativeLayout
    	android:layout_width="150dip"
    	 android:gravity="center"
    	android:layout_height="wrap_content">
    <TextView
    	android:id="@+id/textView"			              
    	android:tag="TextView"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:textColor="@android:color/white"
    	android:textStyle="bold"
    	android:gravity="center"
        android:layout_centerInParent="true"/>
    </RelativeLayout>
    </android.support.v7.widget.CardView>     

     

    • تشکر 1
  11. در در 1397/10/02, 21:18:05، mja89 گفته است :

    اقا مشکل ارور از سورس php هست نمیدونم چرا اما وقتی دستور فراخوانی با توجه به یوزرنیم رو میدیم خطا میده اما وقتی موقع ثبت نام یوزرنیم رو بصورت عددی وارد کنم مشکلی پیش نمیاد.

    سورس ویرایش و مشکلاتش برطرف شد.از پنل سورس لاگین ویرایش جدید رو دانلود کنید. فایل های php رو حتما جایگزین کنید.

  12. در در 1397/09/30, 13:59:04، ForI گفته است :

    سلام

    آقای شاهپیری بنده همچنان به موقعیت و پوزیشن اسکرول ریسایکلر نیاز دارم
    هم واسه نمایش و مخفی کردن پنل هم برای تشخیص به پایان رسیدن لیست
    لطفا بررسی و راهنمایی کنید که خیلی وقته گیر این موضوعم

    سلام عزیز. پوزیشن توی ریسایکرویو با اسکرول ویو متفاوت هست. تو ریسایکلر پوزیشن در واقع همون محل قرار گیری آیتم هست. ولی اسکرول ویو ارتفاع رو نشون میده. باید بررسی کنم ببینم میشه مثل اسکرول ویو ارتفاع رو به دست آورد یا خیر. چون فک کنم منظورتون هم همین باشه. البته کتابخونه قدیمی به خاطر مشکلاتش دیگه پشتیبانی نمیشه و حتما سعی کنید در آینده سورستن رو با کتابخونه جدید بازنویسی کنید.

  13. در در 1397/09/26, 19:52:34، mja89 گفته است :

     

    توی پست اول گفته شده که کاستوم ویو دیگه تو نسخه جدید وجود نداره و شما باید اونو از طریق کدنویسی اضافه کنید. 

    Private PersianNetIMG1 As PersianNetIMG
    PersianNetIMG1.initialize("pim")
    Activity.AddView(PersianNetIMG1.View,30%x,0,40%x,50%y)

    کتابخونه هیچ مشکلی با okhttputils نداره با آخرین نسخه بیسیک من تست کردم و موردی نبوده

  14. در در 1397/09/30, 20:14:04، mja89 گفته است :

     

    دوست عزیز شما میاین و یه تومار از اشکالات رو توی یه پست مطرح میکنید توقع نداشته باشید آنی جواب داده بشه. مشکلات رو دونه دونه بپرسید که جوابدهی سریع باشه.شما الان مشکلتون دقیقا کجاست عزیز؟به ترتیب بگید که ببینم کجاست مشکلتون

  15. در 19 ساعت قبل، mykimia گفته است :

    سلام

    چرا در VegaLayoutManager متد nRecyclerScroll کار نمیکنه؟

    قابل توجه همه دوستان. این متد فقط در listview و grideview کاربرد داره. و دربقیه لیوت منیجرها به خاطر اینکه از این متد خود کتابخونه برای هندل کردن رفتار لیوتش استفاده میکنه دیگه قابل استفاده نیست.

    در 17 ساعت قبل، mykimia گفته است :

    متد OnItemLongClick چطور فعال میشه؟ چرا کار نمیکنه؟

    مشکلی نداره عزیز. فقط دقت داشته باشید که این متد فقط برای پنل اصلی کار میکنه و نه آیتمهای پنل. تو مثال قبل متد زیر رو پیاده کنید.

    Private Sub pr_OnItemLongClick(Item As Object,position As Int)
    	ToastMessageShow(position,False)
    End Sub

     

  16. Dim pr As PersianRecyclerLayout
    	pr.Builder("pr").NormalRecycler.BALayout.ListView.RecyclerView.withDefaultDividier.Build
       Activity.AddView(pr,0,0,100%x,100%y)
       pr.ShowRecycler
    
    Private Sub pr_getItemCount As Int
    	Return 100
    End Sub
    Private Sub pr_onCreateViewHolder(layoutitem As Object,viewtype As Int) As Object
    	Return Null
    End Sub
    Private Sub pr_onBindViewHolder(layoutitem As Object,position As Int,viewtype As Int)
    	Dim pn As Panel=layoutitem
    	Dim heit As Int= position *50dip
    	pn.Width=100%x
    	pn.Height=heit
    	pn.Color=Colors.Red
    End Sub

     

  17. در 37 دقیقه قبل، amir1999 گفته است :

    بله ظاهرا یه تایم خاصی مشکل داشت بعدش حل شد

    سورس همراه کتابخونه رو تست کردم

    روی شبیه ساز با اندروید 7 جواب داد

    ولی روی گوشیم با اندروید 8 جواب نمیده و پنجره اصلا نمایش داده نمیشه

    رفع شد عزیز. نسخه جدید رو دانلود کنید.

    • پسندیدن 1
  18. کتابخانه کاربردی PersianPasswordGenerator


    با سلام خدمت دوستان عزیز.

    خیلی از وقتا نیاز هست که تو برنامه یک رشته به صورت تصادفی و ترکیبی از عدد حرف و بقیه چیزا داشته باشیم. کتابخونه ای آماده کردیم که بسیار حرفه ای هست توی این زمینه و به راحتی میتونید پسورد و بقیه رشته ها رو به صورت تصادفی و کاملا کاستومایز تولید کنید.

    مثال کار با کتابخونه

    Dim pr As PersianPasswordGenerator
    pr.Initialize.useDigits.useLower.useUpper.usePunctuation.build 
    
    Log(pr.generate(20))   ' که 20 طول پسورد هست

     


     

    • پسندیدن 3
    • تشکر 2
×
×
  • اضافه کردن...