我正在尝试制作一个从屏幕中间以白色发出的渐变,并在向屏幕边缘移动时变为黑色.
当我制作像这样的"普通"渐变时,我一直在尝试不同的形状:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#E9E9E9" android:endColor="#D4D4D4"
android:angle="270"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
当使用"椭圆形"形状时,我至少得到了圆形,但没有渐变效果.我怎么能做到这一点?'
所以我的布局看起来基本上像这样:
<ScrollView>
<RelativeLayout>
<BunchOfViews/>
<ImageView android:layout_alignParentBottom="true"/>
</RelativeLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
我有,ScrollView所以无论屏幕高度如何,所有布局始终都是可见的.问题是在非常高的屏幕上,我仍然希望我ImageView处于最底层.然而,一个孩子ScrollView似乎没有明确的底部.在View被放置在布局的顶部.如何以一种简洁的方式解决这个问题?
是否可以在ScrollView或ListView中更改滚动条的颜色或外观?
由于Android目前不支持java7,我发现自己想知道如果他们正在努力支持它,他们是否已发表官方评论?
有时我的UI中有一个按钮,它很小,很难点击.到目前为止我的解决方案是在photoshop中的按钮周围添加透明边框.只是增加按钮上的填充不起作用,因为这也会拉伸图像.因为每次想要更改可点击表面时打开photoshop都有点大惊小怪,有没有办法以编程方式执行此操作?我已经尝试在按钮后面放置一个framelayout并使其可以点击,但是按钮不会改变触摸时的外观.当然我还可以在framelayout上添加一个ontouchlistener来改变按钮的外观,但是如果我有几个这样的按钮,它就会有一些代码.
干杯,
所以我目前正在显示通知.当用户单击此注释时,将启动该应用程序.通知仍然存在,表示该服务正在后台运行.
Intent notificationIntent = new Intent(context, LaunchActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(1, notification);
Run Code Online (Sandbox Code Playgroud)
但是,我发现了一个出现错误的情况.如果用户通过单击正常图标启动应用程序,并且在活动正在运行时单击通知,则会启动新活动,而不会退出先前的活动,后者位于较早的活动之上.这还不是全部:进一步点击通知将创建其他活动并将其置于已经运行的活动之上.我怎么能阻止这个?是否有一个很好的检查,以查看某个活动当前是否正在显示或已加载?
所以我的应用程序中有一个语言设置.当语言切换时,我希望所有的文本视图等立即改变语言.目前我只是更改配置中的语言环境,因此当用户重新启动活动时语言已更改.
我的问题的一个丑陋的解决方案是每次语言更改时使每个textview加载新资源.有更好的解决方案吗?也许是一种巧妙的方式来离散地重启活动?或者只是强制重新加载资源?
当软件键盘显示时,它会调整我的布局大小,从而将背景图像压缩在一起.我的问题基本上是这个问题的重复,这是一个非常好的解释:
但是,当他们找到解决问题的黑客时,这个问题就被关闭了.我不能用这个黑客.我的整个布局都在ScrollView中,我需要能够始终正确使用此scrollview.通过使用android:windowSoftInputMode ="stateVisible | adjustPan",用户将无法向下滚动并在键盘显示时看到屏幕底部,因为布局将部分存在于键盘后面.因此,解决方案对我来说是不可接受的.那里有更好的解决方案吗?
干杯,
在最近的两周内,在没有发布我的应用程序更新的情况下,我开始收到一堆包含损坏数据库的报告.下面是堆栈跟踪.Android无法打开数据库,我的计算机上的sqlite-manager程序也无法打开.但是,fireite的SQLite manager-addon可以打开它.运行命令"compact database"后,数据库已修复,我可以在android中打开它.有什么方法可以在我的应用程序中做这样的事情吗?最大的问题是我甚至无法尝试打开数据库,因为较新版本的Android会立即删除并替换数据库,如下面的堆栈跟踪中所示.可以在不打开数据库的情况下以某种方式执行PRAGMA语句吗?
问候,
02-22 09:55:20.245: ERROR/Database(5382): CREATE TABLE android_metadata failed
02-22 09:55:20.245: ERROR/Database(5382): Failed to setLocale() when constructing, closing the database
02-22 09:55:20.245: ERROR/Database(5382): android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed
02-22 09:55:20.245: ERROR/Database(5382): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
02-22 09:55:20.245: ERROR/Database(5382): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1950)
02-22 09:55:20.245: ERROR/Database(5382): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1818)
02-22 09:55:20.245: ERROR/Database(5382): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:817)
02-22 09:55:20.245: ERROR/Database(5382): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:851)
02-22 09:55:20.245: ERROR/Database(5382): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:844)
02-22 09:55:20.245: ERROR/Database(5382): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:540)
02-22 09:55:20.245: ERROR/Database(5382): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
02-22 09:55:20.245: ERROR/Database(5382): Deleting and re-creating corrupt database …Run Code Online (Sandbox Code Playgroud) 我正在阅读关于新的Android Lint规则,并且我发现要防止透支我应该使我的背景布局使用具有空背景的主题,以防止如果我只是要覆盖它来绘制背景.问题是,如何定义具有空背景的自定义主题?
失败尝试1(不编译):
<style name="NoTitleBarNoBackground" parent="@android:style/Theme.NoTitleBar">
<item name="android:background">null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
失败尝试2(警告仍然存在):
<style name="NoTitleBarNoBackground" parent="@android:style/Theme.NoTitleBar">
<item name="android:background">#00000000</item>
</style>
Run Code Online (Sandbox Code Playgroud) android ×10
android-lint ×1
background ×1
button ×1
corruption ×1
dalvik ×1
database ×1
gradient ×1
java-7 ×1
layout ×1
listview ×1
localization ×1
pragma ×1
resources ×1
scroll ×1
scrollview ×1
sqlite ×1