Tag: android

在“ActionBar”项目点击显示popup菜单

我有一个ActionBar上的一个行动项目。 点击行动项目后,我想显示一个popup式菜单。 我实现了这个方法,但我想将它锚定到操作项或ActionBar ,而不是布局的任何视图。 如何获得某种视图从MenuItem锚定它? public boolean onOptionsItemSelected(MenuItem item) { PopupMenu popupMenu = new PopupMenu(this, ??????); // What view goes here? popupMenu.inflate(R.menu.counters_overflow); popupMenu.show(); // … return true; }

Android gradle构build和支持库

我有一个项目,使用一些其他库项目(SlidingMenu,ActionbarSherlock),这些都使用Android支持库,build设时,我得到以下几点: UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/LoaderManager; at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) at com.android.dx.dex.file.DexFile.add(DexFile.java:163) at com.android.dx.command.dexer.Main.processClass(Main.java:490) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459) at com.android.dx.command.dexer.Main.access$400(Main.java:67) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) at com.android.dx.command.dexer.Main.processOne(Main.java:422) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333) at com.android.dx.command.dexer.Main.run(Main.java:209) at com.android.dx.command.dexer.Main.main(Main.java:174) at com.android.dx.command.Main.main(Main.java:91) 这两个库项目都依赖于支持lib: dependencies { compile files('libs/android-support-v4.jar') }

在ListFragment中添加HeadView的最佳位置

我在列表中设置自定义标题时遇到了一些麻烦。 我正在用一个自定义适配器创build一个ListFragment。 我有清单工作正常,但我想弄清楚在一个片段的生命周期中附加标题。 我知道在设置适配器之前,必须添加标题。 我尝试在onActivityCreated中添加我的头文件,但每当我的Fragment从后台返回时都会调用它,因为我也在onActivityCreated中设置适配器,所以失败。 我试图将其添加到onCreate中,但是在生命周期的这个阶段,视图层次结构不可用。 我试图将其添加到onCreateView,但我不能将从膨胀返回到ListView的视图。 所以我不能将我的标题添加到一个香草视图。 有什么想法吗?

如何使用vector绘图与除了ImageView与srcCompat?

使用ImageView app:srcCompat允许向后兼容使用vector绘图。 但是,除了ImageView你怎样才能使用它们呢? 例如,像android:drawableLeft这样的TextView属性。 同样使用带有MenuItem的android:icon作为vectordrawable会导致崩溃,但有以下例外情况: Fatal Exception: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown> at android.view.LayoutInflater.createView(LayoutInflater.java:626) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702) at android.view.LayoutInflater.inflate(LayoutInflater.java:470) at android.view.LayoutInflater.inflate(LayoutInflater.java:398) at android.support.v7.view.menu.MenuItemImpl.setActionView(MenuItemImpl.java:621) at android.support.v7.view.menu.MenuItemImpl.setActionView(MenuItemImpl.java:40) at android.support.v4.view.MenuItemCompat.setActionView(MenuItemCompat.java:310) at android.support.v7.view.SupportMenuInflater$MenuState.setItem(SupportMenuInflater.java:465) at android.support.v7.view.SupportMenuInflater$MenuState.addItem(SupportMenuInflater.java:479) at android.support.v7.view.SupportMenuInflater.parseMenu(SupportMenuInflater.java:196) at android.support.v7.view.SupportMenuInflater.inflate(SupportMenuInflater.java:118) at com.example.niceapp.context.main.MainActivity.onCreateOptionsMenu(MainActivity.java:101) at android.app.Activity.onCreatePanelMenu(Activity.java:2578) 通过支持库23.2.0,如何解决这个问题?

自定义视图与布局

好, 我想要做的是在默认的布局main.xml中embedded一个自定义视图: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.lam.customview.CustomDisplayView android:id="@+id/custom_display_view1" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/prev" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="50" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/prev" /> </LinearLayout> </LinearLayout> 你可以看到这个类叫做com.lam.customview.CustomDisplayView,其id为custom_display_view1。 现在在com.lam.customview.CustomDisplayView类,我想使用另一个名为custom_display_view.xml的布局,因为我不想以编程方式创build控件/小部件。 custom_display_view.xml只是一个button和一个图像,我想根据一定的条件改变其内容: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/display_text_view1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <ImageView android:id="@+id/display_image_view1" android:layout_width="wrap_content" android:layout_height="wrap_content"> </ImageView> </LinearLayout> 我试图做到: 1) […]

Android以编程方式隐藏/取消隐藏应用程序图标

我以编程方式使用下面的代码隐藏应用程序图标 try{ PackageManager p = getPackageManager(); p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); }catch (Exception e) { e.printStackTrace(); } 现在我想以编程方式显示图标

Android – EditText在使用textAllCaps时会产生IndexOutOfBoundsexception

我正在尝试使用相对布局创build一个非常简单的注册页面。 此注册页面链接到名为RegistrationFragment的片段。 我有这个布局的五个EditText字段:名称,电话号码,电子邮件,密码,并确认密码。 出于某种原因,我可以input文本到密码并确认密码,但每当我尝试input任何文本到其他字段,他们立即崩溃应用程序与IndexOutOfBoundsexception。 这是完整的堆栈跟踪: java.lang.IndexOutOfBoundsException at android.graphics.Paint.getTextRunAdvances(Paint.java:1879) at android.text.TextLine.handleText(TextLine.java:747) at android.text.TextLine.handleRun(TextLine.java:898) at android.text.TextLine.measureRun(TextLine.java:414) at android.text.TextLine.measure(TextLine.java:293) at android.text.TextLine.metrics(TextLine.java:267) at android.text.Layout.getLineExtent(Layout.java:998) at android.text.Layout.drawText(Layout.java:329) at android.widget.Editor.drawHardwareAccelerated(Editor.java:1380) at android.widget.Editor.onDraw(Editor.java:1303) at android.widget.TextView.onDraw(TextView.java:5163) at android.view.View.draw(View.java:14465) at android.view.View.getDisplayList(View.java:13362) at android.view.View.getDisplayList(View.java:13404) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077) at android.view.View.getDisplayList(View.java:13300) at android.view.View.getDisplayList(View.java:13404) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077) at android.view.View.getDisplayList(View.java:13300) at android.view.View.getDisplayList(View.java:13404) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077) at android.view.View.getDisplayList(View.java:13300) at android.view.View.getDisplayList(View.java:13404) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077) at […]

CardView背景颜色始终为白色

我使用GridLayoutManager RecyclerView和我有每个项目作为CardView。 不幸的是,这里CardView似乎并没有改变它的背景颜色。 我尝试在布局和编程方面,但我已经试过似乎没有工作。 我一直在挣扎了很长时间。 我很感激有人能帮我解决这个问题。

Android:窗口标题中的进度条不显示

我有一个Web视图来覆盖内置的浏览器,我想在标题栏上显示进度指示器。 这是代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.browser); currentURL = BrowserActivity.this.getIntent().getExtras().getString("currentURL"); try { mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebViewClient(new browserActivityClient()); setProgressBarIndeterminateVisibility(true); mWebView.loadUrl(currentURL); setProgressBarIndeterminateVisibility(false); } catch (Exception e) { Log.e(getClass().getSimpleName(), "Browser: " + e.getMessage()); Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); } } 根据我在网上看到的Android文档和其他样本,我认为它应该工作。 但它不,你能告诉我我错在哪里吗? 还有一个问题:如果有时候以后我会select在应用程序清单中声明android:theme="@android:style/Theme.NoTitleBar" ,进度条会不会显示? 谢谢。

为什么Android WebView拒绝用户input?

我正在开发一个Android应用程序,使用WebView来显示Facebook的login页面。 页面加载得很漂亮,我可以select用户名/密码文本框,但是input它们是行不通的。 也就是说,他们肯定有input焦点(他们有橙色的焦点高亮框和一个闪烁的光标),但打字他们什么都没有。 我不确定,但我想也许表单button也在起作用 – 它们似乎只是刷新页面,而不是提交表单。 要明确一点,虽然我特别想让Facebook运行,但我相信这不是Facebook的问题,因为其他网站(谷歌等)也显示相同的行为。 有没有人有任何想法可能是什么问题?