标签: android-ui

如何制作一个体面的用户界面

我需要有关如何创建漂亮的用户界面的帮助.现在我想,看这个问题的人有一个机器人,如果是这样的话去市场.下载名为"快速设置"的应用.它有一个很棒的用户界面,我想学习如何使我的外观像那个一样好,如果你有任何帮助,我们将不胜感激.谢谢.

android android-ui android-layout

6
推荐指数
1
解决办法
1万
查看次数

在后台工作时更新UI

我有一个更新数据库操作,它有一个活动,它不断更新百分比,并在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,就像我试图做的那样.它还谈到了 …

multithreading android android-ui

6
推荐指数
1
解决办法
3114
查看次数

Android ICS ListView刷新问题

我的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

6
推荐指数
1
解决办法
1063
查看次数

在Android中,如何将图像放在另一个上面看起来像徽章?

请看下面:

iPhone徽章

我尝试使用绝对布局,但不推荐使用.感谢您的帮助,谢谢.

android android-ui android-layout

6
推荐指数
2
解决办法
3167
查看次数

Android UI优化的选项有哪些?

我有一个有大量图形元素的应用程序,我试图通过使用RelativeLayout来消除布局的复杂性,并想知道还有什么可以加速基于具有大量图形元素的标准布局系统的UI?

android android-ui

6
推荐指数
0
解决办法
2067
查看次数

在Android应用中显示html格式的文本

我正在将一个Web应用程序移植到android平台.该应用程序将包含一些Web内容(使用访问WebView)和一些离线内容.我需要在主屏幕中显示一些文本作为离线内容,我有点困惑如何去做.我已经浏览了格式化文本的android文档,但我发现在处理多行文本时使用它有点乏味.所以我正在考虑创建一些HTML页面并将它们包含在我的应用程序的res文件夹中.然后使用它们加载它们WebView.使用这种方法是否可取?还是有更好的出路?

android android-ui

6
推荐指数
1
解决办法
8350
查看次数

如何在android中更改单选按钮的边框颜色?

如何在android中更改单选按钮的边框颜色?

我想改变android单选按钮的圆圈颜色.

提前致谢.任何帮助是极大的赞赏.

我尝试了不同的解决方案和关注,如果有任何属性是其他可绘制的图像

android android-ui

6
推荐指数
2
解决办法
3万
查看次数

姜饼设备不使用Theme.AppCompat(支持库)中的Holo样式

我正在使用v4和v7支持库在我的应用程序中集成操作栏和导航抽屉,它支持API 10+.

我按照开发人员网站上的指南分别使用Theme.AppCompat和style/Widget.AppCompat.ActionBar作为我的主题和操作栏样式的父级.

一切正常,除了我在Gingerbread设备上测试时,下拉/弹出菜单之类的东西有白色背景(手机皮肤)和文本字段不使用全息风格背景(再次使用手机皮肤).

还有什么我需要做的事情,所以前Holo设备继承了全息风格的小部件吗?

提前致谢.

android android-ui android-layout android-2.3-gingerbread android-support-library

6
推荐指数
1
解决办法
1110
查看次数

在其他应用程序上浮动图标


很想知道emojidom如何能够在其他应用程序之上显示这个图标.实际是什么?因为这个图标会弹出whatsapp,环聊,facebook messenger和其他聊天应用程序.而且我也可以在屏幕上移动这个图标.它是如何做到的?

在此输入图像描述

android android-ui android-layout

6
推荐指数
1
解决办法
414
查看次数

Android Dim自定义对话框背景

标题是,我似乎无法调暗我所做的自定义对话框的背景.无数解决方案在线提到了下面第一个代码段中的最后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 android-ui android-xml android-dialog

6
推荐指数
1
解决办法
7857
查看次数