簡體   English   中英

如何更改操作欄顏色並單擊打開文件?

[英]How to change the action bar color and open a file on click?

我現在正在開發適用於Android的應用程序,有兩件事我不知道該怎么做。

  1. 我想根據用戶的要求更改操作欄的顏色,所以我想動態更改它。 我看到一些答案,說我需要使用:

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#004D40")));

但是由於某種原因,它對我不起作用。

  1. 我已經在我的應用程序選項中添加了下載文件的功能,但是我以一種不尋常的方式進行操作,因此下載完成后它不會創建通知。 我想為我的用戶提供一種獲取文件的簡便方法。 我可以創建一個單擊該按鈕來打開文件的按鈕嗎?

謝謝!

1)為此,我建議您在“工具欄視圖”中使用“ 示例 ”並將其設置為“動作欄”。 只需在頂部添加此視圖:

<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

然后在活動中

 Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
 setSupportActionBar(myToolbar);

之后,您可以更改視圖myToolbar所需的所有內容 設置背景顏色等。它將起作用。 僅使用Actionbar是古老且分散的方法。

2)是的,您可以,這就像有意打開新活動。 Android具有一些內置的Intent Action Type ,可以幫助您打開或查看特定文件,但是為此,您需要知道要處理的文件類型。

假設如果您使用的文件類型歸類為文檔類型,

具有特定MIME_TYPE (Android 4.4或更高版本)的ACTION_OPEN_DOCUMENT

或如果您要處理某些媒體文件(音頻/視頻)

您可以使用,

ACTION_VIEW

要識別特定文件的MIME_TYPE ,您可以使用函數

guessContentTypeFromName (String url) 鏈接

getMimeTypeFromExtension(String extension) 鏈接

希望這可以幫助 :)

您不能更改顏色,因為您應該調用getSupportActionBar (),並且它也適用於api> 11;

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(android.R.color.black)‌​));

要么

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#004D40")​));

關於您的第二個問題,我們需要更多信息以及您在其中下載文件的代碼。 您完全可以訪問文件onClick,但是您需要知道文件類型和存儲文件的目錄以及目標api,以檢查運行時權限,例如

我建議您用所有代碼和此信息詢問另一個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM