我有一个DialogFragment风格全屏使用setStyle(STYLE_NORMAL, R.style.Theme_App).
该DialogFragment精细显示,但后续行动(在homeAsUp在动作条的动作)不起作用.我尝试onOptionsItemSelected在实施中,DialogFragment但它永远不会被调用.
有没有办法在DialogFragment中获取up动作回调,所以我可以解雇它?作为参考,我正在使用ActionBarCompat.
android android-dialogfragment dialogfragment android-actionbar-compat
我将抽屉布局作为我活动的基本布局,我正在替换这个抽屉布局内的框架上的两个碎片.第一个片段未添加到片段的后栈中.我在我的活动中显示汉堡包图标(我还想在我的第一个片段中使用抽屉菜单).在第二个片段中,我禁用了汉堡包图标mActionBarDrawerToggle.setDrawerIndicatorEnabled(false)并启用了后退按钮actionBar.setDisplayHomeAsUpEnabled(true).
在第一个片段onResume我通过mActionBarDrawerToggle.setDrawerIndicatorEnabled(true)启用了汉堡包图标,这样当用户从第二个片段按下按钮(硬件和动作栏的向上按钮)时,用户将返回第一个片段并启用汉堡包图标.一切都很好,只是我无法从第二个片段动作栏后退按钮返回.我无法点击它.以下是我的代码: -
活动代码
if (Utility.isLargeScreen(this))
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
else
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
mHiddenGemsApplication = (HiddenGemsApplication) getApplication();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
initViews();
setSupportActionBar(mToolbar);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(true);
}
mTextViewActionBarTitle.setText(getString(R.string.app_name));
mActionBarDrawerToggle = new ActionBarDrawerToggle(HomeActivity.this, mDrawerLayout, mToolbar, R.string.open_drawer, R.string.close_drawer) {
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
}
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
}
};
mDrawerLayout.setDrawerListener(mActionBarDrawerToggle);
mActionBarDrawerToggle.syncState();
mFragmentManager = getSupportFragmentManager();
replaceFragment(new CategoryFragment(), getString(R.string.app_name), CategoryFragment.TAG);
@Override
public void onBackPressed() {
if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
mDrawerLayout.closeDrawers();
return;
} …Run Code Online (Sandbox Code Playgroud) android android-layout android-fragments android-actionbar android-toolbar
我正在开发一款Android应用.我正在使用ActionBar和AppCompactActivity.在我的应用程序中,我将按钮添加到操作栏.但是当我点击它时,它不会回到之前的活动.例如,我从活动1开始活动2.活动2包含带后退按钮的操作栏.但是当我点击活动2的操作栏后退按钮时,它不会返回到活动1.
这就是我为活动2设置操作栏的方法:
public class EditProfileActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_profile);
Toolbar toolbar = (Toolbar)findViewById(R.id.profile_action_toolbar);
setSupportActionBar(toolbar);
setTitle("Edit Profile");
ActionBar actionBar= getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我从活动1开始活动2的方式:
Intent i = new Intent(MainActivity.this,SecondActivity.class);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
单击此按钮时不会返回
为什么不回去?
我正在尝试手动实现按下操作栏上的向上按钮时必须执行的操作,但出于某种原因,当我按下它时没有任何反应.
这是我的代码:
public class ActivityOne extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_one);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar_actionbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Button button = (Button)findViewById(R.id.btn1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openActivityTwo();
}
});
Button button2 = (Button)findViewById(R.id.btn2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openActivityThree();
}
});
}
void openActivityTwo(){
Intent intent = new Intent(this, ActivityTwo.class);
startActivity(intent);
}
void openActivityThree(){
Intent intent = new Intent(this, ActivityThree.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) …Run Code Online (Sandbox Code Playgroud) 操作栏向上导航按钮
在模拟器中工作正常但在设备中不起作用任何人都可以帮助我
主要活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainpage);
tf = Typeface.createFromAsset(getAssets(), "font/AGENCYB.TTF");
Button btnWeatherDetails = (Button) findViewById(R.id.btnWeather);
Button btnMovieDetails = (Button) findViewById(R.id.btnMovies);
Button btnHoroscopeDetails = (Button) findViewById(R.id.btnHoroscope);
btnWeatherDetails.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, WeatherActivity.class);
MainActivity.this.startActivity(i);
}
});
btnMovieDetails.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(MainActivity.this, MovieActivity.class);
MainActivity.this.startActivity(i);
}
});
btnHoroscopeDetails.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(MainActivity.this, …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个扩展AppCompatPreferenceActivity并在操作栏中实现向上按钮的活动.视觉上一切看起来都很好,但向上按钮不响应触摸事件.以下是我的java和xml代码:
PrefrencesDisplayActivity.java
package com.example.matthew.testsettings;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CoordinatorLayout;
import android.support.v7.widget.Toolbar;
import android.widget.ListView;
import android.widget.RelativeLayout;
import java.util.List;
public class PreferencesDisplayActivity extends AppCompatPreferenceActivity {
CoordinatorLayout activityRoot;
AppBarLayout appBarLayout;
Toolbar toolbar;
RelativeLayout contentRoot;
ListView preferencesList;
@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.preferences, target);
initialiseUI();
}
private void initialiseUI() {
// Inflate activity layout from xml
setContentView(R.layout.activity_preferences_display);
// Get handles to UI elements
activityRoot = (CoordinatorLayout) findViewById(R.id.prefDisplay_activity_root);
appBarLayout = (AppBarLayout) findViewById(R.id.prefdisplay_activity_appBarLayout);
toolbar = (Toolbar) findViewById(R.id.prefDisplay_activity_toolbar);
contentRoot = (RelativeLayout) findViewById(R.id.prefDisplay_content_root);
preferencesList = (ListView) findViewById(android.R.id.list);
// …Run Code Online (Sandbox Code Playgroud)