بازیابی و به‌روزرسانی خصوصیات نمای ارائه در اندروید

مقدمه

نمای عادی شامل سه ناحیه محتوا است: اسلاید خود، ناحیه محتوا در سمت و ناحیه محتوا در پایین. ویژگی‌هایی که به موقعیت‌گذاری نواحی مختلف محتوا مربوط می‌شوند. این اطلاعات به برنامه اجازه می‌دهد وضعیت نمای خود را در فایل ذخیره کند، به‌طوری‌که هنگام بازگشایی، نما در همان وضعیتی باشد که آخرین بار ارائه ذخیره شد.

متدIViewProperties.getNormalViewProperties اضافه شده است تا دسترسی به ویژگی‌های نمای عادی ارائه را فراهم کند.

INormalViewProperties، INormalViewRestoredProperties رابط‌ها و فرزندان آن، و مقدارهای SplitterBarStateType هم اضافه شده‌اند.

درباره INormalViewProperties

نمایش ویژگی‌های نمای عادی را نمایان می‌کند.

متدهایgetShowOutlineIcons وsetShowOutlineIcons مشخص می‌کنند که آیا برنامه باید در صورت نمایش محتوا به شکل ساختار در هر یک از نواحی محتوا در حالت نمای عادی، آیکون‌ها را نشان دهد یا نه.

متدهایgetSnapVerticalSplitter وsetSnapVerticalSplitter تعیین می‌کنند که آیا تقسیم‌کننده عمودی باید هنگام کوچک شدن کافی ناحیه کناری به حالت کمینه بچسبد یا نه.

ویژگیgetPreferSingleView وsetPreferSingleView مشخص می‌کند که آیا کاربر ترجیح می‌دهد یک ناحیه محتوای تک‌پنجره‌ای کامل به جای نمای عادی استاندارد با سه ناحیه محتوا ببیند. در صورت فعال بودن، برنامه می‌تواند یکی از نواحی محتوا را در تمام پنجره نمایش دهد.

متدهایgetVerticalBarState وgetHorizontalBarState وضعیت نمایش نوار تقسیم‌کننده افقی یا عمودی را تعیین می‌کنند. نوار تقسیم‌کننده افقی اسلاید را از ناحیه محتوا در زیر اسلاید جدا می‌کند، نوار تقسیم‌کننده عمودی اسلاید را از ناحیه محتوا در کنار جدا می‌کند. مقادیر ممکن عبارتند از: SplitterBarStateType.Minimized، SplitterBarStateType.Maximized و SplitterBarStateType.Restored.

متدهایgetRestoredLeft وgetRestoredTop اندازه‌گیری ناحیه اسلاید بالایی یا کناری نمای عادی را وقتی مقدار SplitterBarStateType.Restored برایgetVerticalBarState وgetHorizontalBarState اعمال شده باشد، تعیین می‌کند.

درباره بازیابی INormalViewProperties

اندازه‌گیری ناحیه اسلاید (پهنای آن هنگامی که فرزندgetRestoredTop باشد، ارتفاع آن هنگامی که فرزندgetRestoredLeft باشد) را وقتی ناحیه در اندازه متغیر بازیابی شده (نه کمینه و نه بیشینه) باشد، مشخص می‌کند.

متدgetDimensionSize اندازه ناحیه اسلاید (پهنای آن هنگامی که فرزند restoredTop باشد، ارتفاع آن هنگامی که فرزند restoredLeft باشد) را تعیین می‌کند.

متدgetAutoAdjust مشخص می‌کند که آیا اندازه ناحیه محتوا در کنار باید برای اندازه جدید هنگام تغییر اندازه پنجره حاوی نما در برنامه جبران شود یا نه.

مثالی که در ادامه آورده شده نشان می‌دهد چگونه می‌توانید به ویژگی‌هایViewProperties.getNormalViewProperties یک ارائه دسترسی پیدا کنید.

Presentation pres = new Presentation();
try {
    pres.getViewProperties().getNormalViewProperties().setHorizontalBarState(SplitterBarStateType.Restored);
    pres.getViewProperties().getNormalViewProperties().setVerticalBarState(SplitterBarStateType.Maximized);
    
    // بازگرداندن خصوصیات نمای ارائه
    pres.getViewProperties().getNormalViewProperties().getRestoredTop().setAutoAdjust(true);
    pres.getViewProperties().getNormalViewProperties().getRestoredTop().setDimensionSize(80);
    pres.getViewProperties().getNormalViewProperties().setShowOutlineIcons(true);

    pres.save("presentation_normal_view_state.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

تنظیم مقدار مقیاس پیش‌فرض

برای تنظیم ویژگی‌های نما، لطفاً مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاسPresentation ایجاد کنید.
  2. View Properties را برایPresentation تنظیم کنید.
  3. ارائه را به عنوان فایلPPTX ذخیره کنید. در مثال زیر، مقدار مقیاس را برای نمای اسلاید و نمای یادداشت‌ها تنظیم کرده‌ایم.
Presentation presentation = new Presentation();
try {
    // تنظیم خصوصیات نمای ارائه
    presentation.getViewProperties().getSlideViewProperties().setScale(100); // مقدار بزرگنمایی به درصد برای نمای اسلاید
    presentation.getViewProperties().getNotesViewProperties().setScale(100); // مقدار بزرگنمایی به درصد برای نمای یادداشت‌ها 

    presentation.save("Zoom_out.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

سؤالات متداول

آیا می‌توانم تنظیمات نمای مختلفی برای بخش‌های مختلف یک ارائه تعیین کنم؟

View settings در سطح ارائه تعریف می‌شوند (Normal View/Slide View) و نه برای هر بخش، بنابراین یک مجموعه پارامتر برای کل سند هنگام باز شدن اعمال می‌شود.

آیا می‌توانم وضعیت‌های نمای مختلفی را برای کاربران مختلف پیش‌تعریف کنم؟

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

آیا می‌توانم قالبی با ویژگی‌های نمای پیش‌تعریف شده آماده کنم تا ارائه‌های جدید همان‌طور باز شوند؟

بله. چون view properties در سطح ارائه ذخیره می‌شوند، می‌توانید آن‌ها را در یک قالب قرار داده و اسناد جدید را از آن با همان پیکربندی اولیه نمایش ایجاد کنید.