How can I make the AppBar fixed to the top while letting only the content scroll vertically?
You'll have to take the custom app route for that:
get started by following the documentation
implement your own AppBar component customizing the Material UI component. You can copy/paste the original code from here
You will probably have to customize it with the style prop.
Related
Is there a recommended way to adjust the height of the Angular Material toolbar?
Here is an example of basic usage of the Angular Material toolbar as described here https://material.angular.io/components/toolbar/overview
<mat-toolbar color="primary">
<a class="title" [routerLink]="['']">Azure B2C App1</a>
</mat-toolbar>
This creates a toolbar that is nearly an inch high, which is no use for anything. It's far too big.
The Material documentation page that describes customizing components states that I shouldn't use CSS to override its height, as that might break it. https://material.angular.io/guide/customizing-component-styles
So how am I supposed to resize it to something usable?
I notice the Angular Material documentation doesn't itself use a mat-toolbar for its page header, it uses a hand-rolled custom app-nav component instead. What should I infer from that? That after having installed one of the most heavyweight themeable component libraries around that I'm expected to handroll a themeable and responsive custom toolbar just to get a usable page header?
No, there is no recommended way to adjust the toolbar size.
https://github.com/angular/components/issues/4597
According to this Github issue requests for Angular Material to properly support dense toolbars on desktop in line with Material Design go back to at least 2017, but there is no sign of anything coming soon.
In Xamarin.Forms I have created a custom Navigation bar using a StackLayout and Labels for one of my pages. The other pages however are using the default navigation bar. I've tried to make the titles of the custom and default navigation bars look exactly the same but can't quite get it to match.
Is there a way to find out the font size and family of the default navigation bar in Xamarin.Forms?
Yes, there is! Xamarin.Forms is fully open-source, so you can inspect anything the code is doing on GitHub. The magic most likely happens inside the NavigationPage renderers, so check out Xamarin.Forms.Platform.[Target Platform]/Renderers/NavigationPageRenderer.cs.
But in your case this might be overkill, and you might be able to get the information you are interested in using the Xamarin Inspector while your app is running in debug mode.
I have a Xamarin forms app where I'm using ListViews to display some data, with pull to refresh enabled. When the ListView is pulled and starts the refresh it has its own spinner animation. However, this doesn't display when the page first loads, and so I've wired in a separate ActivityIndicator to indicate loading for just the first time. It's styled different though. I would prefer to use the ActivityIndicator, since it's what's used through the rest of the app, but I haven't found a way to disable the spinner animation on the ListView yet. Is it possible to disable it? Any suggestions would be appreciated, thanks!
There are a few ways I can think of to solve this.
Don't use Pull-to-refresh. Xamarin.Forms has this built in and you can't customize it without using renderers and altering controls. Instead, start your refresh another way (ToolbarItem, etc) and continue using your custom ActivityIndicator.
Customize the existing ListViews UIRefreshControl. You may be able to use a renderer or "Effect" to customize the RefreshControl being used by the native control. This would allow you to style it a little close to what your custom indicator looks like.
Change the color of the spinner. This is my least favorite option. You could workaround this by changing the color of the spinner to match the background so you don't see it.
I would like to develop some animations for my pages or my page content. The approach of which one I should follow is unclear to me at the moment and I'll try to explain why.
What I'd like to achieve is to create a page (or page content) animation with a slide-in from right when navigating to the page and slide-out to left when leaving the page.
The slide-in part can be achieved with ContentThemeTransition from TransitionCollection. But what about the slide-out part?
I can't seem to know or find any good timing regarding when to fire a slide-out animation just before the page is about to be left.
I'dlike not to apply any animation to the page in such way that WP does by default (with some jump-out, jump-in effect). I'd like to be like BasicPage from templates with no animation but with custom animated content upon page enter and page leave.
How could this be achieved?
Thanks in advance.
I assume you are navigating from the page via tapping a button or something similar. Why don't you create a storyboard animation, start that from the Click event handler of the button, and call Frame.Navigate() when the animation has finished playing?
This feels like a dumb newbie question. I'm attempting to follow the Palm's online tutorial for developing a webOS app. I ran palm-generate and tried updating the generated index.html file to have a body with a bunch of content (the word "HELLO" repeated 400 times).
When I attempt to load that document in the emulator, I find that I'm unable to scroll the screen to read the rest of the text. I drag the screen, but nothing happens. The page scrolls just fine in the Palm web browser.
Is there a setting to allow users to drag my app to scroll it? I see documentation for a Mojo.Widget.Scroller, but that seems like it shouldn't be necessary for a simple web page with a bunch of text on it.
Thanks to arthurthornton:
You can take anything that would normally be inside the tags and put that inside the scene HTML file.
OR you could just make a basic scene with a webview widget inside it that has your site as the source.
Unfortunately, the Scroller widget is needed for scrolling. The standard WebKit view that's shown in a card has no native scrolling ability, so the Mojo scroller widget implements the logic for displaying more content that can fit.
You can try this out by making a new project in the Ares IDE. Just add a Scroller and use the Maximize button to make it fill the scene. Then, add a HTML object to it, and add your HTML content to that object. You'll then have a nice scene which allows you to scroll through a lot of content.