我读过的所有内容都说您不能在构造函数中调用getWidth()或getHeight()在上调用View,但我在中调用它们onResume()。届时是否应该绘制屏幕布局?
@Override
protected void onResume() {
super.onResume();
populateData();
}
private void populateData() {
LinearLayout test = (LinearLayout) findViewById(R.id.myview);
double widthpx = test.getWidth();
}
Run Code Online (Sandbox Code Playgroud) android android-layout activity-lifecycle android-view android-viewtreeobserver
我有一个使用CursorAdapter填充的ListView.我还希望在ListView中有一些分隔符.我用ArrayAdapter完成了这个,但是我不知道如何使用CursorAdapter完成这个.这样做有什么策略吗?还是我运气不好?
我刚刚在ListView中添加了一个标题,我不得不更改一堆代码,因为标题基本上变为位置0(意味着我的CursorAdapter的Cursor索引与列表的标记不对齐.它们关闭了1现在).为什么?这对我来说似乎有点傻.
我能想出的唯一原因是开发人员可能想要访问标题.精细.提供类似getListView().getHeader()的东西.
我的一个屏幕上有一个ScrollView.我希望右边有阴影.我决定最简单的方法是让ScrollView的子项成为RelativeLayout,并有两个RelativeLayout的子项 - 一个是LinearLayout,它将容纳屏幕的布局,第二个View是阴影.
像这样......
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- stuff -->
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:src="@drawable/shadow"
android:layout_alignParentRight="true"
/>
</RelativeLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不太有效.ImageView强制其尺寸为图像文件的大小.它不会垂直拉伸成RelativeLayout的高度.我也试过"match_parent"无济于事.图像是9补丁.
想法?
我有我在我的应用程序中显示的图像.它们是从网上下载的.这些图像是几乎白色背景上的对象的图片.我希望这个背景是白色的(#FFFFFF).我想,如果我看一下像素0,0(应该总是灰白色),我可以得到颜色值并用白色替换图像中的每个像素.
之前已经问过这个问题,答案似乎是这样的:
int intOldColor = bmpOldBitmap.getPixel(0,0);
Bitmap bmpNewBitmap = Bitmap.createBitmap(bmpOldBitmap.getWidth(), bmpOldBitmap.getHeight(), Bitmap.Config.RGB_565);
Canvas c = new Canvas(bmpNewBitmap);
Paint paint = new Paint();
ColorFilter filter = new LightingColorFilter(intOldColor, Color.WHITE);
paint.setColorFilter(filter);
c.drawBitmap(bmpOriginal, 0, 0, paint);
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.
运行此代码后,整个图像似乎是我想要删除的颜色.如同,现在整个图像是1纯色.
我也希望不必遍历整个图像中的每个像素.
有任何想法吗?
我的应用程序中的一个屏幕可能会发送一个非常长的字符串TextView.对于这种情况,我android:ellipsize="marquee"设置了文本将在TextView上进行选取.
但是,我已经决定我也想要这个文本是可选择的(android:textIsSelectable="true").在大多数情况下,这没有问题.文本小于TextView,用户可以选择它.但是,如果我有textIsSelectable属性并且文本大于TextView,则文本将拾取椭圆而不是完整字符串. 它仍然是字幕,但它不再显示全文.它会将其剪掉并显示椭圆形.
<TextView
android:layout_width="wrap_content"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:ellipsize="marquee"
android:focusable="true"
android:gravity="center_vertical"
android:singleLine="true"
android:textIsSelectable="true">
Run Code Online (Sandbox Code Playgroud)
有没有办法让文本可选并仍然保持整个字符串(没有椭圆)?
哇SDK,哇......
所以我试图在它离开屏幕之前在我的TextView(单行)的末尾添加一个椭圆.我读过椭圆是破了(开发为2.1)?在Google搜索之后,每个人似乎都建议将inputType设置为text,将maxLines设置为1,然后您将得到一个椭圆.
这有两个问题:1)文本在屏幕上运行,但不是椭圆形.我可以告诉文字正在屏幕上运行,因为屏幕边缘只显示一半字符,但它不会打印"...".2)当我在TextView上设置inputType时,单击我的列表项不再有效!单击时没有突出显示,并且onListItemClick处理程序不会触发!
所以...
我能在这做什么?
我想指出,有两种方法可以椭圆化.如果整个单词不适合屏幕,请隐藏整个单词并添加椭圆.或者,只需取下足够的字符,以便椭圆适合.理想情况下,后者是我想要的.
谢谢你的帮助
在我的Android应用程序中,我隐藏了默认标题栏,引入了TabView并在TabView的选项卡下添加了我自己的标题栏.目前,我正在使用?android:attr/windowTitleStyle样式,这使我的新标题栏显示为灰色和渐变.它看起来不错,但我的屏幕看起来非常灰度.我想通过使这个标题栏成为不同的颜色渐变来增加一些东西.
我在这看什么?创建我自己的图像并使用它??android:attr/windowTitleStyle样式似乎会根据自定义标题栏的高度进行扩展; 所以我不确定它实际上是一个单一的图像.
我尝试用一点半透明的方式抛出一个LinearLayout(例如:使颜色为#800000FF),但我在此LinearLayout后面的渐变样式消失了.
谢谢你的帮助
更新:
根据我在下面的回答,我发现我可以创建一个定义渐变的XML文件并使用它.它在我的布局上的LinearLayout(titlebar_gradient)中工作正常.但是,它不适用于最外层的LinearLayout(background_gradient).有人能告诉我为什么吗?据我了解,ListView应该是透明的......
<?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"
android:background="@drawable/background_gradient"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="47dip"
android:background="@drawable/titlebar_gradient"
android:gravity="center">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Item"
style="?android:attr/windowTitleStyle"
android:paddingLeft="5dip"
android:maxLines="1"
android:ellipsize="end" />
</LinearLayout>
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="10dip"
android:clickable="false"
/>
<TextView
android:id="@+id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我创建了一个服务并抓取有关用户的位置数据,以便我可以在附近的地方显示我的用户.我希望此服务除了GPS之外还可以通过网络进行跟踪,原因有两个:1)GPS可能无法启用.2)GPS需要相当多的时间来锁定我的测试手机.
当我的服务执行以下行时:
mNETEnabled = mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
11-24 14:00:41.693: ERROR/LocationManagerService(51): isProviderEnabled got exception:
11-24 14:00:41.693: ERROR/LocationManagerService(51): java.lang.IllegalArgumentException: provider=network
11-24 14:00:41.693: ERROR/LocationManagerService(51): at com.android.server.LocationManagerService._isProviderEnabledLocked(LocationManagerService.java:1385)
11-24 14:00:41.693: ERROR/LocationManagerService(51): at com.android.server.LocationManagerService.isProviderEnabled(LocationManagerService.java:1359)
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我是否错过了Manifest的许可?我的清单中有ACCESS_COARSE_LOCATION.
我使用a ContentProvider与我的应用程序的数据库说话,我遇到了一些问题.
我有一个稍微复杂的查询.它看起来像这样:
String sql =
"select " +
" tblHistory._id _id, " +
" tblHistory.item item, " +
" tblHistory.updated_on updated_on, " +
" (select _id from tblList " +
"where tblList.item = tblHistory.item) list_id, " +
" 1 priority, " +
"from " +
" tblHistory " +
"where " +
" tblHistory.status <> 'STATE_DELETING' and " + selection + " " +
"union " +
"select " +
" tblSearch._id _id, " +
" tblSearch.item item, …Run Code Online (Sandbox Code Playgroud) android ×10
listview ×2
textview ×2
android-view ×1
bitmap ×1
cursor ×1
ellipse ×1
gradient ×1
header ×1
listviewitem ×1
permissions ×1
scrollview ×1
separator ×1
titlebar ×1