小编Gau*_*tam的帖子

如何为Android应用创建透明演示屏幕?

我正在尝试创建一个半透明的演示屏幕,该屏幕仅在用户首次安装我的应用程序时启动.以下是Pulse News应用程序的示例:

Galaxy Nexus

来自Pulse News on Galaxy Nexus的截图

Nexus One

在此输入图像描述

我希望用户能够通过几个这样的透明演示页面轻扫,而不是"点按即关闭"功能.

对于我的第一次尝试,我修改了ViewPagerIndicator库中的示例.我在每个视图寻呼机片段中的ImageViews中使用了半透明的PNG.然后我在"主要活动"的onCreate方法中将其作为"演示活动"启动.

问题:在背景中无法看到"主要活动" - 相反它只是黑色.我在这里尝试了解决方案,但这并没有解决问题.

有没有更好的方法来创造这样的东西,还是我走在正确的轨道上?

我还有另一个相关问题,这取决于如何实现.我正在尝试覆盖文本和箭头,以便它们指向背景中的特定UI组件.通过使用具有文本和箭头的PNG,它可能无法在不同设备上正确缩放.即,箭头可能不一定指向背景中的正确UI组件.有没有办法解决这个问题?

谢谢!

这是我第一次尝试的代码:

DemoActivity.java

public class DemoActivity extends FragmentActivity {
    DemoFragmentAdapter mAdapter;
    ViewPager mPager;
    PageIndicator mIndicator;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.demo_activity);

        mAdapter = new DemoFragmentAdapter(getSupportFragmentManager());

        mPager = (ViewPager)findViewById(R.id.pager);
        mPager.setAdapter(mAdapter);
        //mPager.setAlpha(0);

        UnderlinePageIndicator indicator = (UnderlinePageIndicator)findViewById(R.id.indicator);
        indicator.setViewPager(mPager);
        indicator.setFades(false);
        mIndicator = indicator;
    }

}
Run Code Online (Sandbox Code Playgroud)

DemoFragmentAdapter.java

class DemoFragmentAdapter extends FragmentPagerAdapter {
    protected static final int[] CONTENT = new int[] { R.drawable.demo1, R.drawable.demo2, R.drawable.demo3, R.drawable.demo4};

    private …
Run Code Online (Sandbox Code Playgroud)

android transparent demo android-viewpager showcaseview

103
推荐指数
5
解决办法
7万
查看次数

Android XML主题继承自两个父主题?

Android风格和主题似乎总是让我头晕目眩.我想在我的应用程序中使用不同版本的Android的Holo UI.所以我决定通过浏览源来提取必要的资源.

我遇到了以下情况android-15\data\res\values\themes.xml,我很困惑究竟是什么'继承',从哪里来:

<style name="Theme.Holo.Light" parent="Theme.Light">
    ...
    ...
</style>
Run Code Online (Sandbox Code Playgroud)

Android的API指南说:

如果要继承自己定义的样式,则不必使用该parent属性.相反,只需将要继承的样式的名称添加到新样式的名称前面,并用句点分隔.

但是从上面的代码来看,它似乎Theme.Holo.Light是继承Theme.Holo而来的Theme.Light.

这是如何工作的,或者我没有正确阅读的内容?

xml android android-ui android-theme

39
推荐指数
1
解决办法
8968
查看次数

隐式联接列如何与Android联系人数据一起使用?

我正在查询ContactsContract.Data表格以查找电话记录.

我创建一个新的时出错CursorLoader:

java.lang.IllegalArgumentException: Invalid column deleted
Run Code Online (Sandbox Code Playgroud)

我的代码:

import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Data;

...

String[] projection = {
    Phone.DELETED,
    Phone.LOOKUP_KEY,
    Phone.NUMBER,
    Phone.TYPE,
    Phone.LABEL,
    Data.MIMETYPE,
    Data.DISPLAY_NAME_PRIMARY
};

// "mimetype = ? AND deleted = ?"
String selection = Data.MIMETYPE + " = ? AND " Phone.DELETED + " = ?";  
String[] args = {Phone.CONTENT_ITEM_TYPE, "0"};

return new CursorLoader(
    this,
    Data.CONTENT_URI,
    projection,
    selection,
    args,
    null);
Run Code Online (Sandbox Code Playgroud)

知道为什么Phone.DELETED列不包含在游标中吗?该文档不说-

来自关联原始联系人的某些列也可通过隐式联接获得.

android contacts contactscontract android-contentprovider android-contacts

20
推荐指数
1
解决办法
1095
查看次数

获取具有类型到过滤功能的Android联系人,仅限特定帐户

我试着:

  • 显示联系人列表
  • 让用户通过键入查询来搜索它们
  • 仅将搜索结果限制为特定的Google/Gmail帐户.

这是我为游标构建URI的方法:

// User is searching for 'jo'
String query = "jo";
Uri uri = Uri.withAppendedPath(Contacts.CONTENT_FILTER_URI, Uri.encode(query));

// Restrict the query to contacts from 'example@gmail.com'
Uri.Builder builder = uri.buildUpon();
builder.appendQueryParameter(
    ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(ContactsContract.Directory.DEFAULT));
builder.appendQueryParameter(ContactsContract.RawContacts.ACCOUNT_NAME, "example@gmail.com");
builder.appendQueryParameter(ContactsContract.RawContacts.ACCOUNT_TYPE, "com.google");

uri = builder.build();
Run Code Online (Sandbox Code Playgroud)

这是最终的URI:

content://com.android.contacts/contacts/filter/jo?directory=0&account_name=example%40gmail.com&account_type=com.google
Run Code Online (Sandbox Code Playgroud)

目前,这显示了手机上所有帐户的搜索结果.


注意:如果我使用Contacts.CONTENT_URI而不是Contacts.CONTENT_FILTER_URI,则指定目录/帐户按预期工作,但我不能再使用"类型到过滤器"样式搜索.

文件确实状态:

目录最重要的用例是搜索.目录提供商预计至少会支持Contacts.CONTENT_FILTER_URI.

任何人都可以帮助指出我可能做错了什么吗?

android contactscontract android-contentprovider android-contacts

7
推荐指数
1
解决办法
1728
查看次数

仅在窗口调整大小完成后重新绘制JPanel

我有一个JPanel,我在上面画了四个矩形.随机选择这些矩形中的每一个的颜色.仅当用户单击特定矩形时,颜色才会更改.

问题是,当用户调整窗口大小时,JPanel上的所有内容都会重复"重新绘制".这导致矩形快速改变颜色.

理想情况下,在调整大小时,我需要矩形的颜色保持不变.否则,我还可以使用一个解决方案,在完成调整大小后,JPanel只重画一次.

您对我如何实现这一点有什么一般性的想法吗?如果ComponentListener中有onStartResize和onFinishResize回调方法,我觉得这样会容易得多.

谢谢!

java swing resize jpanel repaint

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

Eclipse标记的目的是什么 - 比如@author,@ version,@ link?

我注意到Eclipse会自动@author在新Java类的顶部添加一个带有我名字的标签.我也注意到,有可像其他标签@version,@link,@code,@value,@see...

是否只是形成了另一个"惯例",以便代码保持良好的记录?还是有其他目的吗?

我试图找到一个网站,可以更好地描述标签及其用法,但我没有运气.

java eclipse tags coding-style

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