Questions tagged «android»

Android是Google的移动操作系统,用于对数字设备(智能手机,平板电脑,汽车,电视,Wear,Glass和IoT)进行编程或开发。对于与Android相关的主题,请使用特定于Android的标签,例如android-intent,android-activity,android-adapter等。对于与开发或编程无关但与Android框架相关的问题,请使用以下链接:https:// android.stackexchange.com。

8
在ImageView周围进行不必要的填充
我需要在所有活动/视图中都包含标题图形。具有标题的文件称为header.xml: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#0000FF" android:padding="0dip"> <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/header" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="0dip" android:layout_marginTop="0dip" android:layout_marginBottom="0dip" android:padding="0dip" android:paddingTop="0dip" android:paddingBottom="0dip" android:layout_gravity="fill" android:background="#00FF00" /> </FrameLayout> 注意android:background="#00FF00"(绿色),这只是可视化目的。 我将它们包含在我的视图中,如下所示: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" style="@style/white_background"> <include layout="@layout/header" /> (...) 因此,当我实际尝试时,结果看起来像左图,而不是它应该看起来像(右): (1)这-橙色-部分是所讨论的图像/ ImageView。 (2)无用的绿色边框。注意:通常,绿色区域是透明的-因为我设置了,所以只有绿色background。 注意顶部图像周围的绿色边框;它是ImageView的一部分,我只是想不出它为什么存在或如何摆脱它。它将所有填充和边距设置为0(但省略时结果是相同的)。图片为480x64px jpeg *,我将其放在res / drawable中(drawable-Xdpi尽管不是其中之一)。 (* …

11
MenuItemCompat.getActionView始终返回null
我刚刚实现了v7 AppCompat支持库,但在MenuItemCompat.getActionView我测试的每个Android版本中始终返回null(4.2.2、2.3.4 ....) 该SearchView显示在操作栏上,但它不响应触摸操作,不会展开,以显示其EditText与就像一个简单的图标。 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); if (searchView != null) { SearchViewCompat.setOnQueryTextListener(searchView, mOnQueryTextListener); searchView.setIconifiedByDefault(false); Log.d(TAG,"SearchView not null"); } else Log.d(TAG, "SearchView is null"); } return super.onCreateOptionsMenu(menu); } Menu.xml <?xml version="1.0" encoding="utf-8"?> …

30
Gradle:任务':processDebugManifest'的执行失败
从昨天开始,我在构建时遇到了gradle错误-它只是随机出现的。 完整的堆栈跟踪在这里: 我的项目依赖于多个库,并且构建到昨天为止都没有任何问题(即使使用库也是如此) compile 'com.google.android.gms:play-services:3.1.36' compile 'com.android.support:support-v4:13.0.0' compile project(":libs:DatabaseCreationHelper") compile project(":libs:actionbarsherlock") 有人知道如何解决吗?它只是随机出现的...这里有完整的堆栈跟踪: * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':ItchyFeet:processDebugManifest'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter$1.run(CacheLockReleasingTaskExecuter.java:35) at org.gradle.internal.Factories$1.create(Factories.java:22) at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:179) at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:232) at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142) at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83) at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter.execute(CacheLockReleasingTaskExecuter.java:33) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.ContextualisingTaskExecuter.execute(ContextualisingTaskExecuter.java:34) at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter$1.run(CacheLockAcquiringTaskExecuter.java:39) at org.gradle.internal.Factories$1.create(Factories.java:22) at …


10
如何为纵向和横向指定不同的布局?
我已经看到了有关能够为一个活动指定两个单独的布局xml文件的参考,其中一个为纵向,一个为横向。我还没有找到有关如何执行此操作的任何信息。如何为每个活动指定哪个xml文件是纵向布局,哪个是横向布局? 是否还可以为不同的屏幕尺寸指定不同的布局?如果是这样,这是怎么做的?

10
作为ViewPager的一部分更新ListFragment中的数据
我在Android中使用v4兼容性ViewPager。我的FragmentActivity有很多数据,这些数据将以不同的方式显示在ViewPager的不同页面上。到目前为止,我只有3个相同ListFragment的实例,但是将来我将拥有3个不同ListFragments的实例。ViewPager在垂直手机屏幕上,列表不是并排的。 现在,ListFragment上的按钮将启动一个单独的全页活动(通过FragmentActivity),该活动将返回并FragmentActivity修改数据,保存数据,然后尝试更新其ViewPager中的所有视图。在这里,我被困住了。 public class ProgressMainActivity extends FragmentActivity { MyAdapter mAdapter; ViewPager mPager; @Override public void onCreate(Bundle savedInstanceState) { ... mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.viewpager); mPager.setAdapter(mAdapter); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... updateFragments(); ... } public void updateFragments() { //Attempt 1: //mAdapter.notifyDataSetChanged(); …

10
如何获得对话框样式活动窗口以填充屏幕?
我正在使用一个设置了对话框主题的活动,并且希望它是全屏的。我尝试了各种方法,甚至通过WindowManager手动将窗口扩展到全宽和全高,但没有任何效果。 显然,对话框窗口(或具有对话框主题的活动)将仅根据其内容展开,但即使这样也不总是有效。例如,我显示了一个进度条圆圈,其宽度和高度设置为FILL_PARENT(布局容器也是如此),但是对话框仍然环绕着较小的进度条,而不是填充屏幕。 必须有一种方法可以在对话框窗口中显示一些较小的内容,但是否可以将其扩展到全屏大小而又不调整其内容大小?

6
我是否需要所有三个构造函数才能使用Android自定义视图?
创建自定义视图时,我注意到许多人似乎是这样的: public MyView(Context context) { super(context); // this constructor used when programmatically creating view doAdditionalConstructorWork(); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); // this constructor used when creating view through XML doAdditionalConstructorWork(); } private void doAdditionalConstructorWork() { // init variables etc. } 我的第一个问题是,构造函数MyView(Context context, AttributeSet attrs, int defStyle)呢?我不确定在哪里使用它,但是我在超类中看到了它。我需要它吗?在哪里使用? …

9
如何使用支持FileProvider与其他应用程序共享内容?
我正在寻找一种使用Android支持库的FileProvider与外部应用程序正确共享(而不是打开)内部文件的方法。 按照文档上的示例, <provider android:name="android.support.v4.content.FileProvider" android:authorities="com.example.android.supportv4.my_files" android:grantUriPermissions="true" android:exported="false"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/my_paths" /> </provider> 并使用ShareCompat将文件共享到其他应用程序,如下所示: ShareCompat.IntentBuilder.from(activity) .setStream(uri) // uri from FileProvider .setType("text/html") .getIntent() .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) 不起作用,因为FLAG_GRANT_READ_URI_PERMISSION仅授予data对intent 上指定的Uri的许可,而不是EXTRA_STREAMextra 的值(由setStream)。 我试图通过将提供者设置android:exported为来损害安全性true,但是在FileProvider内部检查自身是否已导出,如果导出,则抛出异常。


16
棒棒糖:在statusBar后面绘制,其颜色设置为透明
我仅将主题中的以下行设置为Lollipop的statusBar颜色设置为透明: <item name="android:statusBarColor">@android:color/transparent</item> 现在我需要在它后面绘制,但是我无法在它后面绘制任何视图。我知道如何使用该windowTranslucentStatus属性,但是不想使用此属性,因为它会忽略statusBar设置为透明的颜色。

6
Android,如何将字符串转换为日期?
每当用户启动应用程序时,我都会将当前时间存储在数据库中。 Calendar c = Calendar.getInstance(); String str = c.getTime().toString(); Log.i("Current time", str); 在数据库端,我将当前时间存储为字符串(如您在上面的代码中看到的)。因此,当我从数据库加载它时,需要将其强制转换为Date对象。我看到了一些所有人都使用“ DateFormat”的示例。但是我的格式与日期格式完全相同。因此,我认为没有必要使用“ DateFormat”。我对吗? 无论如何,有没有直接将此String转换为Date对象?我想将此存储时间与当前时间进行比较。 谢谢 ======> 更新 谢谢亲爱的家伙们。我使用以下代码: private boolean isPackageExpired(String date){ boolean isExpired=false; Date expiredDate = stringToDate(date, "EEE MMM d HH:mm:ss zz yyyy"); if (new Date().after(expiredDate)) isExpired=true; return isExpired; } private Date stringToDate(String aDate,String aFormat) { if(aDate==null) …
142 android  string  date  casting 


15
Android模拟器:安装错误:INSTALL_FAILED_VERSION_DOWNGRADE
我目前正在尝试编译和测试一个小型Android应用程序。 我正在使用Eclipse,并且安装了SDK 4.2(Api级别17)。我已经设定 <uses-sdk android:targetSdkVersion="17" android:minSdkVersion="8" /> 尽管我也尝试了不同的值(即17/17)。 我不使用任何GoogleAPI函数,也不使用API​​级别8中不提供的函数。或者至少在这方面我没有得到任何编译错误或警告。 当我编译该项目并在运行Android 2.2.1的真实设备上运行该应用程序时,它运行良好。但是,当我尝试在具有Android 4.2,Api Level 17的仿真器(Android虚拟设备)上运行应用程序时,出现以下错误: [2012-12-10 21:10:29 - SoftKeyboard] Installation error: INSTALL_FAILED_VERSION_DOWNGRADE [2012-12-10 21:10:29 - SoftKeyboard] Please check logcat output for more details. [2012-12-10 21:10:29 - SoftKeyboard] Launch canceled! 但Logcat为空。我真的不知道,这个错误甚至意味着什么...
142 java  android  sdk 

4
Webview从资产目录加载HTML
我正在尝试从资产目录加载html页面。我试过了,但是失败了。 public class ViewWeb extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView wv; wv = (WebView) findViewById(R.id.webView1); wv.loadUrl("file:///android_asset/aboutcertified.html"); // fails here setContentView(R.layout.webview); } } 我在LogCat中并没有发现任何明显的错误...
142 android 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.