Articles of android activity

我怎样才能添加一个animation完成()

我正在使用overridePendingTransition为我的活动创build时,正常工作,我可以看到淡入淡出效果很好,但是当我尝试和活动完成animation完成后,它仍然在默认的权利左滑动。 我首先尝试定义出来的animation,当我开始的活动如下: Intent myIntent = new Intent(a, SkdyAlert.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); a.startActivity(myIntent); if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) { AnimationHelper.overridePendingTransition(a, R.anim.fadein, R.anim.fadeout); } 然后当我完成这个活动的时候我也试着去做 okBtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish(); if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) { AnimationHelper.overridePendingTransition(activity, 0, R.anim.fadeout); } } }); 但是这两种方法都不能阻止退出animation的“从右到左”滑动。 任何想法,我做错了什么?

在另一个项目中使用Android库项目Activity

我有一个Android库项目,我想在另一个Android项目中使用。 该库在AndroidManifest中声明了一个Activity。 当我在第二个项目中尝试以下内容时: Intent intent = new Intent(this, ReaderActivity.class); startActivity(intent); 我得到以下例外: java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.digitalpages.reader.demo/br.com.digitalpages.reader.demo.ReaderDemoActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {br.com.digitalpages.reader.demo/br.com.digitalpages.reader.ReaderActivity}; have you declared this activity in your AndroidManifest.xml? at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) … Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {br.com.digitalpages.reader.demo/br.com.digitalpages.reader.ReaderActivity}; have you declared this activity in your AndroidManifest.xml? at […]

从通知中恢复活动

我在状态栏中为我的应用程序提供了一个通知: Notification notification = new Notification(R.drawable.icon, null, System.currentTimeMillis()); Intent notificationIntent = new Intent(this.parent, MainActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(this.parent, 0, notificationIntent, 0); … notification.flags = Notification.FLAG_ONGOING_EVENT; mNotificationManager.notify(NOTIFICATION_ID, notification); 这个问题是,当你从应用程序按下主页button(推到后台),然后按从状态栏访问的列表中的通知,它启动一个新的活动副本。 我想要做的就是恢复应用程序(就像当你长按主页button并按下应用程序的图标)。 有没有一种方法来创build一个意图来做到这一点?

意式浓缩咖啡 – 如何在执行特定操作后检查活动是否启动?

以下是我的Espressotesting用例之一。 public void testLoginAttempt() { Espresso.onView(ViewMatchers.withId(R.id.username)).perform(ViewActions.clearText()).perform(ViewActions.typeText("nonexistinguser@krossover.com")); Espresso.onView(ViewMatchers.withId(R.id.username)).perform(ViewActions.clearText()).perform(ViewActions.typeText("invalidpassword")); Espresso.onView(ViewMatchers.withId(R.id.login_button)).perform(ViewActions.click()); // AFTER CLICKING THE BUTTON, A NEW ACTIVITY WILL POP UP. // Clicking launches a new activity that shows the text entered above. You don't need to do // anything special to handle the activity transitions. Espresso takes care of waiting for the // new activity to […]

ActivityManager:启动活动时抛出的exceptionjava.lang.IllegalArgumentException:val.length> 91

当启动应用程序的MainActivity时,它立即崩溃。 当我查阅adb日志时,我只能find这个, Exception thrown when launching activities in ProcessRecord java.lang.IllegalArgumentException: val.length > 91 at SystemProperties.set 当我查找Android的源代码时,发现这可能是Android SystemProperties.java的Android源代码问题的根源。 它包含91的最大值限制。 public static final int PROP_VALUE_MAX = 91; public static String get(String key) { if (key.length() > PROP_NAME_MAX) { throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX); } return native_get(key); } 当我猜测,我发现,我的应用程序的包名称是108个字符长。 当我将应用程序的包名称更改为60个字符时 ,它没有任何问题。 可能是什么问题? 这只发生在华硕Zenfone 2(Lolipop 5.0)模型上。 其他任何设备都没有问题。 […]

如何在Android中将活动设置为全屏模式?

如何在Android中为活动设置全屏模式? 我正在使用下面的代码来设置全屏幕,但它会产生一个错误: 例外: android.util.AndroidRuntimeException: requestFeature() must be called before adding content. 码: getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); requestWindowFeature(Window.FEATURE_NO_TITLE);

如何倾听PreferenceFragment中的偏好更改?

如上所述,我将PreferenceFragment子类化并在Activity中显示。 该文档解释了如何在此处侦听首选项更改,但仅限于PreferenceActivity的子类。 由于我没有这样做,我如何倾听偏好改变? 我试过在我的PreferenceFragment实现OnSharedPreferenceChangeListener,但它似乎并没有工作( onSharedPreferenceChanged似乎永远不会被调用)。 这是我的代码到目前为止: SettingsActivity.java public class SettingsActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment as the main content. getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit(); } } SettingsFragment.java public class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener { public static final String KEY_PREF_EXERCISES = "pref_number_of_exercises"; @Override public void onCreate(Bundle savedInstanceState) { […]

如何将活动带到前台(栈顶)?

在Android中,我定义了一个活动ExampleActivity。 当我的应用程序启动时,这个A活动的一个实例被创build,说它是A 当用户点击A一个button时,B的另一个实例B被创build。 现在任务堆栈是BA,B在顶部。 然后,用户点击B上的一个button,C-Activity的另一个实例,C被创build。 现在任务堆栈是CBA,C在顶部。 现在,当用户点击C上的一个button时,我希望应用程序将A带到前台,即使A成为任务堆栈ACB的顶部。 我如何编写代码来实现它?

如何指定仅适用于Android上的手机或平板电脑的活动

我正在审查Google I / O Session 2012应用程序,并且遇到了这个TODO // TODO: use <meta-data> element instead private static final Class[] sPhoneActivities = new Class[]{ MapActivity.class, SessionDetailActivity.class, SessionsActivity.class, TrackDetailActivity.class, VendorDetailActivity.class, }; // TODO: use <meta-data> element instead private static final Class[] sTabletActivities = new Class[]{ MapMultiPaneActivity.class, SessionsVendorsMultiPaneActivity.class, }; public static void enableDisableActivities(final Context context) { boolean isHoneycombTablet = isHoneycombTablet(context); PackageManager […]

活动生命周期 – 接收布局已完成的通知

我有一个活动,我有3个button放在一起。 我已经使用Button的子类,将调整button文本的大小,以防止文本包装。 我想3个button共享相同的文字大小。 为了做到这一点,我打算检测文本大小最小的button,并将其他2个button设置为该文本大小。 我所知道的问题是知道Activity何时完成了它的组件布局,以便我可以可靠地知道文本调整已经发生了。 从Android文档看来,生命周期中的最新通知是onResume(),但是看起来这个布局还没有完成。 有没有办法接收活动布局已经完成的通知?