我是否必须使用Xamarin.Android中的支持库来实现工具栏?
我想在我的应用程序中实现一个工具栏,但我不一定要支持比Oreo更老的android版本 我有一个工具栏,它出现了,它取代了动作栏,但我不知道如何使它像一个动作栏一样,并在上面正确地放置按钮 这是我希望工具栏用于的活动的xml:我是否必须使用Xamarin.Android中的支持库来实现工具栏?,xamarin.android,Xamarin.android,我想在我的应用程序中实现一个工具栏,但我不一定要支持比Oreo更老的android版本 我有一个工具栏,它出现了,它取代了动作栏,但我不知道如何使它像一个动作栏一样,并在上面正确地放置按钮 这是我希望工具栏用于的活动的xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width=
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF">
<Toolbar
android:minHeight="?android:attr/actionBarSize"
android:title="Lyrics"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:titleTextColor="#DDDDDD"
android:background="#112244"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:id="@+id/lyricsToolbar">
</Toolbar>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:minHeight="30px"
android:id="@+id/lyricsListView"/>
</LinearLayout>
这在.cs文件中:
var lyricsToolbar = FindViewById<Toolbar>(Resource.Id.lyricsToolbar);
SetActionBar(lyricsToolbar);
var-lyricsToolbar=findviewbyd(Resource.Id.lyricsToolbar);
SetActionBar(歌词工具栏);
工具栏确实出现了,但我不知道如何正确地在上面放置按钮。我找到的所有教程和代码都在appcompat支持库版本上添加了一个菜单。我想在右边的工具栏上添加一个“添加歌词”按钮,其他什么都不做(它只是一个加号,如果你点击它,它会打开另一个可以添加新歌词的活动)
这是错误的做法吗?
我该怎么做?我应该让应用程序更向后兼容,否则我不能正确使用工具栏吗
感谢您的帮助,
谢谢你你想像下面这样实现吗 如果是这样,您可以像下面的布局一样直接添加这个加号图标
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Toolbar
android:minHeight="?android:attr/actionBarSize"
android:title="Lyrics"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:titleTextColor="#DDDDDD"
android:background="#112244"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:id="@+id/lyricsToolbar">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_add"
android:layout_gravity="end"
android:id="@+id/Toolbar_add"
/>
</Toolbar>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:minHeight="30px"
android:id="@+id/lyricsListView"/>
</LinearLayout >
是的,谢谢。当我遇到类似这样的问题时,您是否有某种社交媒体或电子邮件我可以写信问您一些基本问题?根据政策,我们不能在任何线程中共享任何社交媒体帐户或电子邮件,如果您有任何问题,您可以在stackoverflow中打开线程,每个社区成员都会很乐意帮助你。如果答案有帮助,请不要忘记标记,它将帮助其他有类似问题的人。@rayaqin此问题有任何更新吗?如果回复有帮助,请尝试将其标记为答案,这将帮助其他有类似问题的人。
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
var imageView =FindViewById<ImageView>(Resource.Id.Toolbar_add);
imageView.Click += ImageView_Click;
}
private void ImageView_Click(object sender, System.EventArgs e)
{
var intent=new Intent(this, typeof(LyricsActivity));
StartActivity(intent);
}
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowNoTitle">true</item>
</style>