我需要有关如何创建漂亮的用户界面的帮助.现在我想,看这个问题的人有一个机器人,如果是这样的话去市场.下载名为"快速设置"的应用.它有一个很棒的用户界面,我想学习如何使我的外观像那个一样好,如果你有任何帮助,我们将不胜感激.谢谢.
我有一个更新数据库操作,它有一个活动,它不断更新百分比,并在AsyncTask中运行.
在doInBackground()内部,我调用更新数据库并继续更新活动百分比的控制器,但是,如果按下主页按钮或后退按钮,操作将被取消.你建议我做什么?
我试图在doInBackground()中启动一个服务,所以它会在后台运行,但看起来它不起作用.
我的代码看起来像这样:
public class UpdateDatabaseAsyncTask extends AsyncTask<Void, Integer, Integer>
{
@Override
public void onPreExecute()
{
mCustomProgressBar.startAnimation();
}
@Override
public Integer doInBackground(Void... params)
{
return mController.updateDatabase();
}
@Override
public void onPostExecute(Integer result)
{
mCustomProgressBar.stopAnimation();
// finish the activity
}
@Override
public void onProgressUpdate(Integer... value)
{
updatePercentageValue(value[0]);
}
public void callPublishProgress(Integer value)
{
publishProgress(value);
}
}
Run Code Online (Sandbox Code Playgroud)
在控制器内部,我调用方法callPublishProgress(value)传递当前百分比值,因此它将publishProgress(value)在UI中.
我正在调试,我按下了home/back按钮,它就停止了运行工作线程.
我尝试的另一个解决方案是启动一个服务在后台运行,无论用户是否按下主页/后退按钮,所以我想,服务会调用执行工作的控制器方法,它会调用callPublishProgress(value)无论如何要更新UI上的百分比值.
然而,正在发生的是,代码到达doInBackground() 并启动服务,但它onPostExecute()立即进行,它只是没有等待服务完成(当然!).所以它给了一个NullPointerException.我想doInBackground()在服务中设置一个标志来创建一个循环,所以它会在服务尚未完成时离开这个循环(我使用的是IntentService),但它仍无法正常工作.
我也想过使用Timer.但我不知道.
我正在阅读关于线程等的文档中的文章.它建议使用AsyncTask,就像我试图做的那样.它还谈到了 …
我的Android应用程序上有一个ListView,我动态地更改了它的数据.我使用该onFilterComplete()方法来更改ListView的内容.
预冰淇淋Sandwhich以下代码正常工作:
if(adapter != null) {
adapter.notifyDataSetInvalidated();
lview3.invalidateViews();
adapter.getFilter().filter(aa1.getItem(item), new Filter.FilterListener() {
public void onFilterComplete(int count) {
adapter.notifyDataSetChanged();
if(lview3.getCount() == 0){
lview3.setVisibility(View.GONE);
}
else{
lview3.setVisibility(View.VISIBLE);
}
}});
Run Code Online (Sandbox Code Playgroud)
但是在Ice Cream Sandwhich上,当我使用过滤器时,屏幕没有正确刷新,如果过滤器返回的数量小于之前的ListView,那么旧的列表数据似乎仍然在后台可见,按照这个屏幕截图:

从屏幕截图中你可以看到ListView中第一个条目的位置,这是应该可见的所有内容,你可以看到前面的结果在下面仍然可见,这些只是可见它们不起作用,因为它们不能被点击,就像屏幕没有正确刷新一样.
当我选择主页按钮以通过主屏幕离开应用程序并返回所有内容时,应如下面的屏幕截图所示:

还有什么我必须实现以正确刷新Ice Cream Sandwhich上的ListView吗?有没有其他人遇到过类似的问题?
我在ICS之前做得很好.
android listview refresh android-ui android-4.0-ice-cream-sandwich
请看下面:

我尝试使用绝对布局,但不推荐使用.感谢您的帮助,谢谢.
我有一个有大量图形元素的应用程序,我试图通过使用RelativeLayout来消除布局的复杂性,并想知道还有什么可以加速基于具有大量图形元素的标准布局系统的UI?
我正在将一个Web应用程序移植到android平台.该应用程序将包含一些Web内容(使用访问WebView)和一些离线内容.我需要在主屏幕中显示一些文本作为离线内容,我有点困惑如何去做.我已经浏览了格式化文本的android文档,但我发现在处理多行文本时使用它有点乏味.所以我正在考虑创建一些HTML页面并将它们包含在我的应用程序的res文件夹中.然后使用它们加载它们WebView.使用这种方法是否可取?还是有更好的出路?
如何在android中更改单选按钮的边框颜色?
我想改变android单选按钮的圆圈颜色.
提前致谢.任何帮助是极大的赞赏.
我尝试了不同的解决方案和关注,如果有任何属性是其他可绘制的图像
我正在使用v4和v7支持库在我的应用程序中集成操作栏和导航抽屉,它支持API 10+.
我按照开发人员网站上的指南分别使用Theme.AppCompat和style/Widget.AppCompat.ActionBar作为我的主题和操作栏样式的父级.
一切正常,除了我在Gingerbread设备上测试时,下拉/弹出菜单之类的东西有白色背景(手机皮肤)和文本字段不使用全息风格背景(再次使用手机皮肤).
还有什么我需要做的事情,所以前Holo设备继承了全息风格的小部件吗?
提前致谢.
android android-ui android-layout android-2.3-gingerbread android-support-library
标题是,我似乎无法调暗我所做的自定义对话框的背景.无数解决方案在线提到了下面第一个代码段中的最后3行代码,这对对话框的UI没有任何影响.
请参阅以下代码:
Dialog dialog = new Dialog(MainActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.dialog);
TextView textView = (TextView) dialog.findViewById(R.id.textView);
textView.setText("Custom Text Example");
dialog.show();
WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes();
layoutParams.dimAmount = .7f;
dialog.getWindow().setAttributes(layoutParams);
Run Code Online (Sandbox Code Playgroud)
自定义对话框的布局xml文件如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/progressDialogCustom"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/dialog_black"
android:orientation="horizontal"
android:padding="10dp" >
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:textColor="@android:color/white"
android:text="Updating Profile . . ." />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
该@drawable/dialog_black文件如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@android:color/background_dark" />
<corners
android:bottomLeftRadius="7dp"
android:bottomRightRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp" />
<stroke
android:width="1px"
android:color="@android:color/darker_gray" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" /> …Run Code Online (Sandbox Code Playgroud) android ×10
android-ui ×10
android-4.0-ice-cream-sandwich ×1
android-xml ×1
listview ×1
refresh ×1