Android之Toolbar的三個問題:修改左邊箭頭顏色、怎樣修改右邊以及子activity中的toolbar新增返回箭頭
阿新 • • 發佈:2019-02-07
1)怎樣修改左邊這個小箭頭的顏色?
2)怎樣修改右邊這三個點的顏色、怎樣把這三個點替換成我自己的圖示?
(3)我個人的做法是不使用setTitle,而是在toolBar的xml定義中插入一個TextView,然後設定其layout_gravity為center,它就在正中間了。 另外 那個箭頭顯示加上這句程式碼
然後再在程式裡新增一行程式碼就實現了
2)怎樣修改右邊這三個點的顏色、怎樣把這三個點替換成我自己的圖示?
3)怎樣讓“交易清單”這4個字居中顯示?
首先設定Theme為AppCompat.NoActionBar。
(1)toolbar可以通過設定setNavigatetionIcon,傳入一個icon替換掉最左邊的小箭頭,但是需要自己實現其動作。
(2)在你自己的Theme定義中加入<item name="actionOverflowButtonStyle">@style/OverflowButtonStyle</item> <style name="OverflowButtonStyle" parent="@android:style/Widget.ActionButton.Overflow"> <item name="android:src">@drawable/float_button</item> </style><pre><code class="language-text">就可以修改那三點了。</code>
(3)我個人的做法是不使用setTitle,而是在toolBar的xml定義中插入一個TextView,然後設定其layout_gravity為center,它就在正中間了。 另外 那個箭頭顯示加上這句程式碼
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 想要響應這個返回時間。其實就是onOptionsItemSelected()通過android.R.id.home監聽得到 <pre name="code" class="java"> @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId() == android.R.id.home){ onBackPressed(); } return true; }
從MainActivity中進入一個子activity中之後,如何使toolbar中左邊顯示一個返回箭頭,點選後返回到Mainactivity中呢?其實很簡單,只需要兩行程式碼.
AndroidManifest.xml中給需要在toolbar上增加返回按鈕的activity增加屬性
Android:parentActivityName=”com.example.myfirstapp.MainActivity”
<application ... > ... <!-- The main/home activity (it has no parent activity) --> <activity android:name="com.example.myfirstapp.MainActivity" ...> ... </activity> <!-- A child of the main activity --> <activity android:name="com.example.myfirstapp.DisplayMessageActivity" android:label="@string/title_activity_display_message" android:parentActivityName="com.example.myfirstapp.MainActivity" > <!-- Parent activity meta-data to support 4.0 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.myfirstapp.MainActivity" /> </activity> </application>
然後再在程式裡新增一行程式碼就實現了
@Override
public void onCreate(Bundle savedInstanceState) {
...
getActionBar().setDisplayHomeAsUpEnabled(true);
}