Tôi là người mới chơi Android và tôi đã tự hỏi liệu có ai đó có thể hướng dẫn tôi cách sử dụng lại thanh hành động trong tất cả các hoạt động Android của tôi hay không. Theo như tôi đã khám phá, tôi phát hiện ra rằng chúng ta phải tạo một lớp BaseActivity và mở rộng nó trong Activity của chúng ta nơi chúng ta muốn tái sử dụng nó, và chúng ta cũng phải tạo một bố cục xml và bao gồm nó trong tệp xml hoạt động của chúng ta. Tôi đã hoàn thành phần BaseActivity. Bây giờ tôi là loại bối rối trong khung phần xml và bao gồm nó. Tôi biết làm thế nào để hợp nhất và bao gồm một bố trí, Nhưng trong trường hợp của Action Bar, những bước cần thiết là để được thực hiện. Bất kỳ trợ giúp sẽ được đánh giá cao.Sử dụng lại thanh hành động trong tất cả các hoạt động của ứng dụng
Đây là BaseMenuActivity tôi:
public class BaseMenuActivity extends Activity{
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setIcon(R.drawable.ic_social_share);
LayoutInflater inflator = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.apptitle, null);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setCustomView(v);
}
}
phần Manifest cho cùng:
<activity
android:name="com.example.travelplanner.MenuActivity"
android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden"
android:uiOptions="splitActionBarWhenNarrow"
android:label="WeTrip"
android:theme="@style/MyTheme" >
Style.xml phần:
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#F0F1F1</item>
<item name="android:backgroundSplit">#000000</item>
</style>
MenuActivity.java
public class MenuActivity extends BaseMenuActivity implements OnItemClickListener{
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_menu);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_action_search).getActionView();
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.menu_action_search:
{}
case R.id.menu_action_locate:
{}
case R.id.menu_action_mail:
{}
case R.id.menu_action_call:
{}
}
return super.onOptionsItemSelected(item);
}
}
vì vậy nếu tôi hiểu chính xác bạn, bạn chỉ muốn có cùng một thanh tác vụ thông qua ứng dụng của bạn? – tyczj
vâng .. nhưng tôi không biết làm thế nào để đạt được nó đúng cách. Bởi vì tôi biết tôi phải tạo một lớp BaseActivity và phải mở rộng nó, và tôi cũng phải tạo một tệp xml và bao gồm nó trong mọi hoạt động tôi muốn hiển thị cùng một thanh tác vụ .. nhưng tôi cần một số hướng dẫn về nó – divyang7
bạn có thể chỉ cần đặt chủ đề của ứng dụng trong tệp kê khai của bạn để bạn không phải đặt nó cho từng hoạt động riêng lẻ trong tệp kê khai của mình. Tuy nhiên, bạn sẽ cần phải cung cấp cho nó cái nhìn trong mỗi hoạt động. Nếu bạn không muốn làm điều đó thì tôi khuyên bạn nên xem xét các đoạn chuyển đổi thay vì các hoạt động – tyczj