I'm building an app with appcelerator studio for Android system.
So I want to display and customize a ToolBar.
So this is my index.xml layout:
<Alloy>
<Window class="container">
<ActionBar id="actionbar" title="" icon="/images/logo_decipher.png" />
<Menu>
<MenuItem id="item1" title="Settings" />
<MenuItem id="item2" title="Search" />
</Menu>
</Window>
</Alloy>
I want to display my personal Image in this Toolbar. I'm try to use tag icon but not works.
You can use actionbarExtras. https://github.com/ricardoalcocer/actionbarextras/blob/master/documentation/index.md
Ray
Related
I am Searching for a proper fix on how to change the Color of the Pickers (Date & Time) in Xamarin Forms. I already have the Custom Renderer to customize the Dialog, but is there also a similar possibility to customize the Background Color of the displayed Picker itself(and the annoying Pink line) on all Instances at once?
I found out how to make it, but my solution is not that elegant since i have to define the Background Color on each Instance throughout the App.
-> i want the Blue Box behind the 16:00 to disappear
the code to the picture i have as follows:
<TimePicker Grid.Row="5"
Grid.Column="0"
x:Name="BtnTime2"
Format="t"/>
<Button Grid.Row="5"
Grid.Column="1"
x:Name="BtnTime2Now"
CornerRadius="15"/>
<DatePicker Grid.Row="6"
Grid.Column="0"
Grid.ColumnSpan="2"
x:Name="BtnDate"
Format="D"
BackgroundColor="#00000000"/>
Hope anybody of you guys can help me
ok nevermind...
i already had the solution in my App.xaml
<Application xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Arbeitszeitrechner_Forms.App">
<Application.Resources>
<ResourceDictionary>
...some more Styles here...
<Style TargetType="TimePicker">
<Setter Property="BackgroundColor" Value="#00000000"/>
<Setter Property="TextColor" Value="{StaticResource Text}"/>
</Style>
<Style TargetType="DatePicker">
<Setter Property="BackgroundColor" Value="#00000000"/>
<Setter Property="TextColor" Value="{StaticResource Text}"/>
</Style>
</ResourceDictionary>
</Application.Resources>
I have created a Xamarin Android Shell app. All the labels and Entries are in blank color and don't display on the android device until I change it to black or other colors. Below is a code snippet for the login page.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="VaxineApp.Views.Login.LoginPage"
xmlns:local="clr-namespace:VaxineApp.Renderers"
Shell.FlyoutBehavior="Disabled"
Shell.NavBarIsVisible="False">
<ContentPage.Content>
<StackLayout Padding="40" VerticalOptions="Center" HorizontalOptions="FillAndExpand">
<Label Text="Welcome to Login Page" />
<Entry Placeholder="Email or Phone"></Entry>
<Entry Placeholder="Password"></Entry>
<Button Text="Sign in"></Button>
</StackLayout>
</ContentPage.Content>
</ContentPage>
I don't know whether I am missing something. That hasn't happened to me before.
See how this code renders on my Android device.
Wondering if anyone else has run into the following issue.
I've got my App.MainPage wrapped in a navigation page
MainPage = new NavigationPage(new MyPage());
From MyPage I navigate to a user account page which is a TabbedPage
await Navigation.PushAsync(new MyAccountTabbedPage());
and here's the xaml (pretty simple)
<TabbedPage.Children>
<userAccount:SitesTab />
<userAccount:ProjectsTab />
<userAccount:SettingsTab />
</TabbedPage.Children>
Now here's where it gets fun. From within my SitesTab, I need to show a ListView that contains ContextActions
<AbsoluteLayout>
<ListView AbsoluteLayout.LayoutBounds="0,0,1,1"
AbsoluteLayout.LayoutFlags="All"
ItemsSource="{Binding ListItems}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.ContextActions>
<MenuItem Text="Do Stuff"/>
<MenuItem Text="Delete Stuff" IsDestructive="True"/>
</ViewCell.ContextActions>
<StackLayout>
<Label Text="{Binding .}"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</AbsoluteLayout>
The issue I'm running up against is that the context action on Android doesn't cover/replace the NavigationBar, but rather pushes it down and screws everything up.
Before Context
After Context
So what's up here? Has anyone figured out a way around this? That context menu at the top of the page should cover over the NavigationBar instead of push everything down.
turns out I needed the following in my app compat theme
<style name="myActivityTheme" parent="Theme.AppCompat.NoActionBar">
<item name="windowActionModeOverlay">true</item>
</style>
I am making an app for Android and iOS. As far as I understand there is not possible to set a border on imagebuttons on Android. It is possible on iOS.
When I make a imagebutton it does not look like a button on Android. I cannot find a way to give it a button look. I can only find it on buttons with text.
See images for better understanding.
Anyone can help?
This is my code (new to Xamarin and xaml so it is probably not "good looking" code)
<Label Text="Velg betalingsmetode:"
TextColor="#002C6C"
FontSize="Medium"
VerticalOptions="Center"
HorizontalOptions="Center"/>
<Button x:Name="MobilePayButton"
HeightRequest="100"
WidthRequest="130"
HorizontalOptions="Center"
VerticalOptions="Center"
BackgroundColor="White"
BorderColor="#002C6C"
BorderWidth="2"
Clicked="ToPayConfirmationPage">
<Button.Image>
<OnPlatform x:TypeArguments="FileImageSource"
Android="pay_MobilePaylogo2.png"
iOS="Pay_MobilePaylogo2.png"/>
</Button.Image>
</Button>
To create a button with border, you need to create a customized button:
In PCL project add a custom button:
public class ButtonWithBorder:Button
{
}
Use it in Xaml:
<StackLayout
VerticalOptions="Center">
<local:ButtonWithBorder Clicked="ButtonWithBorder_Clicked">
<local:ButtonWithBorder.Image>
<OnPlatform x:TypeArguments="FileImageSource"
Android="gluehbirne.png"
iOS="Pay_MobilePaylogo2.png"/>
</local:ButtonWithBorder.Image>
</local:ButtonWithBorder>
</StackLayout>
In Android project, create a ButtonRenderer for our custom button:
[assembly: ExportRenderer(typeof(ButtonWithBorder),typeof(ButtonWithBorderRenderer))]
namespace ButtonWithBorderDemo.Droid
{
public class ButtonWithBorderRenderer:ButtonRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Button> e)
{
base.OnElementChanged(e);
Control.Background=ContextCompat.GetDrawable(this.Context, Resource.Drawable.button_bg);
}
}
}
Add a button_bg.axml to Resources\drawable:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="3dp" />
<stroke android:width="5px" android:color="#000000" />
</shape>
And you will get a bordered button in android.
I have the following index.xml
<Alloy>
<Window id="container" title="My App">
<View backgroundImage="/myBackground.jpg">
<Label backgroundColor='rgba(0,0,0,0.5)' text="Hello world!"></Label>
</View>
</Window>
</Alloy>
As the documentation says, that should provide me with a Hello World text with a semi-transparent black background. In iOS works fine but it shows a totally transparent background on Android.
I tried putting it in a separate tss file but still the same issue. Any ideas out there?
For some reason android compilations in Titanium don't work well with rgba() syntax for colors. Try the Hex version instead:
<Alloy>
<Window id="container" title="My App">
<View backgroundImage="/myBackground.jpg">
<Label backgroundColor='#50000000' text="Hello world!"></Label>
</View>
</Window>
</Alloy>