Articles of android

Xamarin.Forms:点击后错误的按钮文本对齐(Android)

我在Android(Nexus 5)上遇到了Xamarin.Forms(版本1.2.2)的问题。 执行单击后, Button.Text的对齐通常不会居中。 在一个简短的项目中,我发现,更新UI会导致问题。 public class App { public static Page GetMainPage() { var label = new Label { Text = “label”, }; var buttonBad = new Button { Text = “buttonBad”, Command = new Command(() => label.Text += “1”), }; var buttonGood = new Button { Text = “buttonGood”, }; return new ContentPage […]

针对开发人员的Android电池使用情况

在Gingerbread用户可以报告应用程序的电池使用情况,方法是转到设置 – >关于手机 – >电池使用,然后点击特定的应用程序。 我的问题是,作为开发人员,我在哪里可以看到这些报告? 它们看起来非常有用,因为它们包含有关您可能泄漏的唤醒锁types的信息。

为网站创建Android启动图标

我有一个响应式网站,可以跨多个设备访问,我们的设计和应用程序主要针对移动用户。 为了便于访问网站,我们希望创建一个启动图标,该图标将显示在移动主屏幕上,用户可以通过一键式访问该网站,而不是启动浏览器并键入URL /打开已添加书签的页面。 我在IOS中find了一个解决方案,它也受到safari浏览器的支持,您可以使用它来保存页面URL作为启动图标,可以在Android设备上find类似的function吗? 如果他们从手机/平板电脑访问它,我也有兴趣提示用户创建启动图标。

Android – Google Analytics管理器,包含Google Analytics和Firebase Analytics

我正在使用购物应用程序,并希望跟踪我的移动应用程序上发生的事件。 我的目标是使用Firebase Analytics和Google跟踪代码管理器跟踪事件,并将相同的事件推送到Google分析。 我的活动> Firebase> Google代码管理器> Google Analytics 我按照以下指南将Google代码管理器和Firebase分析集成到我的应用程序中。 https://developers.google.com/tag-manager/android/v5/ 我能够在Firebase控制台上记录我的事件并在调试控制台中查看。 我在gradle中添加了Tag管理器的依赖项,以便事件也发送到标记管理器。 现在我想知道,我如何将这些事件从Google代码管理器推送到Google分析? 有人可以向我提供有关在Tag manger和Google Analytics上配置标记和触发器的见解 我记录事件的Android代码如下 public void logEventClicked(View view){ Toast.makeText(this, “Logging event”, Toast.LENGTH_SHORT).show(); Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, “150”); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.ADD_TO_CART, bundle); }

animation两层可绘制项目前蜂窝

我试图animation两层drawable,以达到后蜂窝不确定进度指标的效果。 XML非常简单,但似乎只有一个层在Honeycomb之前的平台上运行时才会生成animation。 这仅仅是这些平台的限制,还是我可以使用的替代语法(通常是在API11之前或专门针对API11)来实现所需的function?

如何在Android中的ActionBar下面始终显示ActionBar选项卡

我一直在寻找有关如何始终在ActionBar下方显示ActionBar选项卡的任何信息,即使手机朝向横向也是如此。 我知道它会自动将标签放在ActionBar中,具体取决于屏幕上是否有足够的空间来容纳它们,但我希望它们始终固定在ActionBar下面,即使在横向上也是如此。 我发现了一个类似的问题没有明确的答案: 如何在操作栏下面显示标签 。 我也知道很多谷歌应用程序,如; Google Play,Google Music等实现了这种types的设计模式,因此它显然是可以实现的,并且可以作为设计模式使用。 我目前正在使用ActionBarSherlock库来创建我的滑动选项卡导航,如果有人自己想出如何做到这一点,我将非常感激。 提前致谢。 这是我的活动代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); viewPager = new ViewPager(this); viewPager.setId(R.id.pager); setContentView(viewPager); tabsAdapter = new TabsAdapter(this, viewPager); // Declares the tabs adapter class with the view pager view actionBarTabs = getSupportActionBar(); actionBarTabs.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBarTabs.setCustomView(spinnerView); actionBarTabs.setDisplayShowCustomEnabled(true); /* Adds fragments to the tabs adapter */ […]

如何发送包含十进制浮点(。)的USSD代码?

我需要发送一个包含double值的USSD代码,该代码表示​​要转移的余额帐户金额。 该值由整数组成,也可以是小数分隔符和2个以上的数字。 我的代码如下: double doubleValue = 0.70; String phoneNumber = “51234567”, pincode = “1234”; String ast = Uri.encode(“*”); String baseUssd = ast + “234” + ast + “1” + ast + phoneNumber + ast + pincode + ast; StringBuilder builder = new StringBuilder(); builder.append(baseUssd); builder.append(doubleValue); //ie: 1.35, 0.80 builder.append(Uri.encode(“#”)); Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(“tel:” […]

如何检测屏幕旋转

我有一个显示指南针的活动,我需要知道屏幕的方向以正确旋转针。 我需要区分90°和270°旋转才能正确处理。 当我旋转屏幕时(至少在我的Nexus S上),活动的onCreate会被调用,例如当我从纵向模式旋转到横向模式时。 当我从一个横向模式旋转到另一个横向边缘时, onCreate()被调用两次(一次用于纵向,一次用于目标横向模式)。 但是,当我以底边向上旋转时,屏幕旋转180°并且onCreate不会被调用。 在这种情况下是否会触发事件?

在Android SDK上设置JAVA_HOME

我与JAVA_HOME配置有一些冲突当我使用以下代码时 – System.out.println(System.getenv(“JAVA_HOME”)); 我得到 – C:\jdk1.6.0_23这是正确的地方。 但是,当我在Android build.xml上运行Ant命令时,我收到以下错误消息 – C:\ android–sdk-windows \ tools \ ant \ main_rules.xml:361:无法findjavac编译器; com.sun.tools.javac.Main不在类路径上。 也许JAVA_HOME并没有指向JDK。 它目前设置为“C:\ jdk1.6.0_23 \ jre” 怎么解决? 谢谢, 的Eyal

@ font-face无法在移动Webkit中使用

我无法让@font-face在我测试的任何移动Webkit浏览器中运行 – 在iPhone 3GS上安装Safari,默认安卓2.2浏览器,在Android上使用Dolphin浏览器。 它适用于所有桌面浏览器,从IE7到IE9,FF3.5,Safari 4和Opera。 字体和CSS来自FontSquirrel: @font-face { font-family: ‘LeagueGothicRegular’; src: url(‘../fonts/League_Gothic-webfont.eot’); src: local(‘☺’), url(‘../fonts/League_Gothic-webfont.woff’) format(‘woff’), url(‘../fonts/League_Gothic-webfont.ttf’) format(‘truetype’), url(‘../fonts/League_Gothic-webfont.svg#webfontFHzvtkso’) format(‘svg’); font-weight: normal; font-style: normal; } @font-face { font-family: ‘LatinModernRoman10Bold’; src: url(‘../fonts/lmroman10-bold-webfont.eot’); src: local(‘☺’), url(‘../fonts/lmroman10-bold-webfont.woff’) format(‘woff’), url(‘../fonts/lmroman10-bold-webfont.ttf’) format(‘truetype’), url(‘../fonts/lmroman10-bold-webfont.svg#webfonthCDr6KZk’) format(‘svg’); font-weight: normal; font-style: normal; } @font-face { font-family: ‘LatinModernRoman10BoldItalic’; src: url(‘../fonts/lmroman10-bolditalic-webfont.eot’); src: local(‘☺’), url(‘../fonts/lmroman10-bolditalic-webfont.woff’) format(‘woff’), […]