Android之Toolbar的三個問題:修改左邊箭頭顏色、怎樣修改右邊以及子activity中的toolbar添加返回箭頭


1)怎樣修改左邊這個小箭頭的顏色?
2)怎樣修改右邊這三個點的顏色、怎樣把這三個點替換成我自己的圖標?

3)怎樣讓“交易清單”這4個字居中顯示?

 

 

首先設置Theme為AppCompat.NoActionBar。

(1)toolbar可以通過設置setNavigatetionIcon,傳入一個icon替換掉最左邊的小箭頭,但是需要自己實現其動作。

(2)在你自己的Theme定義中加入

 

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. <item name="actionOverflowButtonStyle">@style/OverflowButtonStyle</item>    
  2. <style name="OverflowButtonStyle" parent="@android:style/Widget.ActionButton.Overflow">    
  3.     
  4.     <item name="android:src">@drawable/float_button</item>    
  5. </style><pre><code class="language-text">就可以修改那三點了。</code>   

(3)我個人的做法是不使用setTitle,而是在toolBar的xml定義中插入一個TextView,然后設置其layout_gravity為center,它就在正中間了。

 


另外  那個箭頭顯示加上這句代碼

 

 

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. getSupportActionBar().setDisplayHomeAsUpEnabled(true);    
  2. 想要響應這個返回時間。其實就是onOptionsItemSelected()通過android.R.id.home監聽得到    
  3. <pre name="code" class="java"> @Override    
  4.     public boolean onOptionsItemSelected(MenuItem item) {    
  5.         if(item.getItemId() == android.R.id.home){    
  6.             onBackPressed();    
  7.         }    
  8.         return true;    
  9.     }    

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. 從MainActivity中進入一個子activity中之后,如何使toolbar中左邊顯示一個返回箭頭,點擊后返回到Mainactivity中呢?其實很簡單,只需要兩行代碼.  
  2.   
  3. AndroidManifest.xml中給需要在toolbar上增加返回按鈕的activity增加屬性  
  4. Android:parentActivityName=”com.example.myfirstapp.MainActivity”  

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. <application ... >    
  2.     ...    
  3.     <!-- The main/home activity (it has no parent activity) -->    
  4.     <activity    
  5.         android:name="com.example.myfirstapp.MainActivity" ...>    
  6.         ...    
  7.     </activity>    
  8.     <!-- A child of the main activity -->    
  9.     <activity    
  10.         android:name="com.example.myfirstapp.DisplayMessageActivity"    
  11.         android:label="@string/title_activity_display_message"    
  12.         android:parentActivityName="com.example.myfirstapp.MainActivity" >    
  13.         <!-- Parent activity meta-data to support 4.0 and lower -->    
  14.         <meta-data    
  15.             android:name="android.support.PARENT_ACTIVITY"    
  16.             android:value="com.example.myfirstapp.MainActivity" />    
  17.     </activity>    
  18. </application>    

然后再在程序里添加一行代碼就實現了

 

 

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. @Override    
  2. public void onCreate(Bundle savedInstanceState) {    
  3.     ...    
  4.     getActionBar().setDisplayHomeAsUpEnabled(true);    
  5. }    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM