رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

نمایش صفحه به صفحه یک کتاب


پست های پیشنهاد شده

با سلام خدمت همه دوستداران برنامه نویسی اندروید

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 28 دقیقه قبل، md98 گفته است :

با سلام خدمت همه دوستداران برنامه نویسی اندروید

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

 

اینو بررسی کنید

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود و سپاس از آقای سرسیفی عزیز

بسیار عالی است

اگه گرافیکی ملموس تر و متریالی تر بخوام، موردی هست که معرفی کنید؟ (ترجیحا در محیط اندروید استودیو و کتابخانه های آماده)

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 1 ساعت قبل، md98 گفته است :

درود و سپاس از آقای سرسیفی عزیز

بسیار عالی است

اگه گرافیکی ملموس تر و متریالی تر بخوام، موردی هست که معرفی کنید؟ (ترجیحا در محیط اندروید استودیو و کتابخانه های آماده)

 

از نسخه جدید FlipBoard استفاده کنید

https://github.com/emilsjolander/android-FlipView

 

و این کتابخانه جذاب

 

https://github.com/Flipboard/bottomsheet

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

در تصویر زمینه یک progressbar در متون استفاده شده که نمیدونم آیا کتابخانه آن موجود است یا ن؟!

در صورت موجود بودن کتابخانه آن لطفا نام آن و یا آدرس لینک آن را برایم قرار دهید 

با تشکر فراوان

1.PNG

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 2 ساعت قبل، md98 گفته است :

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

در تصویر زمینه یک progressbar در متون استفاده شده که نمیدونم آیا کتابخانه آن موجود است یا ن؟!

در صورت موجود بودن کتابخانه آن لطفا نام آن و یا آدرس لینک آن را برایم قرار دهید 

با تشکر فراوان

1.PNG

برای همچین حالت هایی اطلاعات متن های درون صفحه بصورت فرگمنت میباشند و seekbar پایین صفحه هم با اندیس های فرگمنت ها متصل میباشد و در صورت تغییر هر فرگمنت شماره seekbar نیز تغییر میباشد

 

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تشکر از توجه فرزاد جان

من از viewPager برای صفحه به صفحه کردن استفاده کردم

اینم لینکش 

https://developer.android.com/training/animation/screen-slide.html#pagetransformer

فقط یک مشکل خیلی کوچیک دارم!

اینکه من چطور می تونم stringی رو که دادم به تکست ویو در صفحات تقسیمش کنم؟ چون الان تمامی متن در یک صفحه به تعداد count نمایش داده میشه!

* یک count میخواد از من که تعداد صفحات مشخص بشه!!

و قطعه کدی که در فرگمنت آن زدم 

public class ScreenSlidePageFragment extends Fragment {

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        ViewGroup rootView = (ViewGroup) inflater.inflate(
                R.layout.fragment_screen_slide_page, container, false);

        txt=(TextView)rootView.findViewById(R.id.content_book_txt);

	String body = allBookIndex.getBody();

        txt.setText(body);

        return rootView;
    }
}

 

ویرایش شده توسط md98
لینک ارسال
به اشتراک گذاری در سایت های دیگر

از دوستان كسي نيست با viewpager كار كرده باشه؟

لطفا اگه كسي كار كرده ي راهنمايي در اين زمينه بكنه (صفحه به صفحه نمايش اطلاعات)

ممنون ميشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 هفته بعد...

با سلام؛

دوستان در مورد نمايش صفحه به صفحه اطلاعات، سوالي پرسيده بودم كه متاسفانه پاسخي دريافت نكردم (به غير از چند پاسخي كه دوست خوبمان آقاي سرسيفي عزيز دادند)

لطفا در پرسش و پاسخ ها شركت كنيد تا اطلاعاتي كه داريم رو با همديگه به اشتراك بذاريم

:heart:

اما در مورد اين مبحث من قطعه كدي رو در اين خصوص يافتم كه گفتم شايد خالي از لطف نباشه كه به اشتراكش بذارم

 

AndroidReader-master.zip

 

اما يك مشكل كوچيكي كه داره دير لود شدن متون طولاني است

اگه از دوستان كسي ميدونه مشكل از كجاست بگن تا اين كد بيشتر مورد استفاده كاربران قرار بگيره

با سپاس از همه دوستاني كه مشاركت ميكنند

ویرایش شده توسط md98
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 1 دقیقه قبل، md98 گفته است :

دوستان کسی نبود ی نگاهی به این سورس کد بندازه و بهینه ش کنه؟

متن رو به چه صورتی لود میکنید؟  سایز دیتابیستون چقدر هستش ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

از sdcard توسط يك فايل json لود ميشه.

منتها من همين پروژه اي رو هم كه ارسال كردم با متون طولاني مشكل داره و طول ميكشه!

راهكاري مدنظرتون هست؟

ویرایش شده توسط md98
لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان، در سایت stackoverflow این مورد رو جستجو کردم باز هم به نتیجه ای نرسیدم جز این مورد:
http://stackoverflow.com/questions/15877042/how-i-can-show-a-long-textviewstring-into-multiple-page-of-android#new-answer
اگه از دوستان کسی میدونه چطور این کد رو باید بهینه کرد، ممنون میشم کمک کنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 2 ساعت قبل، md98 گفته است :

دوستان، در سایت stackoverflow این مورد رو جستجو کردم باز هم به نتیجه ای نرسیدم جز این مورد:
http://stackoverflow.com/questions/15877042/how-i-can-show-a-long-textviewstring-into-multiple-page-of-android#new-answer
اگه از دوستان کسی میدونه چطور این کد رو باید بهینه کرد، ممنون میشم کمک کنه

 

وقتی  شما میخواهید یک متن بزرگ رو در چند صفحه نمایش دهید باید سایز اسکرین صفحه رو بدست بیارید براساس dp و سپس بیاید و اندازه متن رو هم بدست بیارید

به  این صورت براحتی متیوانید بدونید چه تعداد کاراکتر خاصی رو نمایش دهید در هر صفحه

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
ViewGroup textviewPage = (ViewGroup) getLayoutInflater().inflate(R.layout.fragment_screen_slide_page, (ViewGroup) getWindow().getDecorView().findViewById(android.R.id.content), false);
        TextView contentTextView = (TextView) textviewPage.findViewById(R.id.content_book_txt);

        float horizontalMargin = getResources().getDimension(R.dimen.activity_horizontal_margin) * 2;
        float verticalMargin = getResources().getDimension(R.dimen.activity_vertical_margin) * 2;
        // obtaining screen dimensions
        Display display = getWindowManager().getDefaultDisplay();
        int screenWidth = (int) (display.getWidth() - horizontalMargin);
        int screenHeight = display.getHeight();

        Toast.makeText(ScreenSlidePagerActivity.this, screenWidth+" "+screenHeight, Toast.LENGTH_SHORT).show();
        TextPaint paint = contentTextView.getPaint();

        //===========================================================
        //Working Out How Many Lines Can Be Entered In The Screen
        Paint.FontMetrics fm = paint.getFontMetrics();
        float fullHeight = fm.top - fm.bottom;
        fullHeight = Math.abs(fullHeight);
        //===========================================================

        int numChars = 0;
        int lineCount = 0;
        int maxLineCount = (int) ((screenHeight - (/*actionBarHeight + */ verticalMargin)) / fullHeight);
        //contentTextView.setLines(maxLineCount);
        // contentString is the whole string of the book

        while (body != null && body.length() != 0) {
            while ((lineCount < maxLineCount) && (numChars < body.length())) {
                numChars = numChars + paint.breakText(body.substring(numChars), true, screenWidth, null);
                lineCount++;
            }

            // retrieve the String to be displayed in the current textbox
            String toBeDisplayed = body.substring(0, numChars);
            int nextIndex = numChars;
            char nextChar = nextIndex < body.length() ? body.charAt(nextIndex) : ' ';
            if (!Character.isWhitespace(nextChar)) {
                toBeDisplayed = toBeDisplayed.substring(0, toBeDisplayed.lastIndexOf(" "));
            }
            numChars = toBeDisplayed.length();
            body = body.substring(numChars);
            pageContents.add(toBeDisplayed.trim());

            numChars = 0;
            lineCount = 0;

            totalPages++;
        }

در اين قطعه كد هم سايز صفحه گرفته شده و هم سايز متن و هم تعداد كاراكتر در هر صفحه

با توجه به اينكه ما فونت و ديگر تنظيمات آن رو هم داريم و امكان تغيير آن ها هم است.

حالا ميخواهم آن را بهينه كنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...