猿问

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

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


Galaxy Nexus


Galaxy Nexus上的Pulse News的示例屏幕截图


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;

    }


}

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 int mCount = CONTENT.length;


    public DemoFragmentAdapter(FragmentManager fm) {

        super(fm);

    }


    @Override

    public Fragment getItem(int position) {

        return DemoFragment.newInstance(CONTENT[position % CONTENT.length]);

    }


    @Override

    public int getCount() {

        return mCount;

    }


    public void setCount(int count) {

        if (count > 0 && count <= 10) {

            mCount = count;

            notifyDataSetChanged();

        }

    } }


慕仙森
浏览 388回答 3
3回答

侃侃无极

Pulse正在使用带有四个ImageView和四个TextView的RelativeLayout。屏幕截图中的文本都是具有自己的自定义字体的所有TextView。在清单中,将以下内容添加到活动中:android:theme =“ @ style / Theme.Transparent”>在您的外部RelativeLayout中添加:android:background =“#aa000000”到您的styles.xml文件:<style name="Theme.Transparent" parent="android:Theme">&nbsp; &nbsp; <item name="android:windowIsTranslucent">true</item>&nbsp; &nbsp; <item name="android:windowBackground">@android:color/transparent</item>&nbsp; &nbsp; <item name="android:windowContentOverlay">@null</item>&nbsp; &nbsp; <item name="android:windowNoTitle">true</item>&nbsp; &nbsp; <item name="android:windowIsFloating">false</item>&nbsp; &nbsp; <item name="android:backgroundDimEnabled">false</item></style>&nbsp; &nbsp;&nbsp;一个如何编程自定义字体的示例,您可以在以下位置找到:https://github.com/commonsguy/cw-android/tree/master/Fonts/FontSampler/层次结构查看器中的布局如下所示(红色框是RelativeLayout容器):
随时随地看视频慕课网APP

相关分类

Android
我要回答