android 程序 页面引导图

来源:互联网 发布:如何查看淘宝账号 编辑:程序博客网 时间:2024/06/06 08:31

由于我做的项目需要         在网上查了  很多资料   也没看到一个比较完整的  方案

今天  我就把我写的   给大家分享一下

1.写一个activity作为引导图层      

public class Guide_activity extends FragmentActivity {    private LinearLayout guide_image;    private ImageView guide_image1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_guide_image);        guide_image = (LinearLayout) findViewById(R.id.guide_image);        guide_image1 = (ImageView) findViewById(R.id.guide_image1);        String str = getIntent().getStringExtra("class");        if(str.equals("Products_fragment")){//用于判断是那个页面过来的   好支持不同的引导图            guide_image1.setImageResource(R.drawable.guide_products);        }else if(str.equals("MineFragment_new")){            guide_image1.setImageResource(R.drawable.guide_mine);        }        guide_image.setOnClickListener(new View.OnClickListener() {//设置点击事件   点击这关闭着个引导图activity            @Override            public void onClick(View v) {                finish();            }        });    }}
引导图层的xml

<?xml version="1.0" encoding="utf-8"?>    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:id="@+id/guide_image"><ImageView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:paddingTop="100dp"    android:id="@+id/guide_image1"    /></LinearLayout>


由于引导图是用的activity  但是activity  会遮住后面的   这就不是我们想要的效果了     所以需要自己写一个style

res/values/styles.xml

<resources xmlns:tools="http://schemas.android.com/tools"><style name="Transparent">        <item name="android:windowBackground">@color/transparent_background</item>        <item name="android:windowNoTitle">true</item>        <item name="android:windowIsTranslucent">true</item>        <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>    </style></resources>


在colors.xml文档   声明

<?xml version="1.0" encoding="utf-8"?>  <resources>    <color name="transparent_background">#50000000</color>  </resources>  


在androidManifest.xml文档  声明activity

<activity android:name=".ui.Guide_activity"            android:configChanges="orientation|keyboardHidden|screenSize"            android:exported="false"            android:label="@string/app_name"            android:screenOrientation="portrait"            android:theme="@style/Transparent" />
上面一部分引用了 http://norety.iteye.com/blog/648725的内容


2.写一个用于判断用户是否是第一次进入的工具类

public class ChangeLogHelper {    final static String FINANCIAL_KEY = "financial";     /**     *引导图     * @param context   aaa用于存入Constants.version这个全局变量   这个变量是用于放版本号的   你也可也放别的标识  在下一个方法判断的时候用同样的就行     */    public static void  saveFinancial(Context context,String aaa) {        SharedPreferences preferences = context.getSharedPreferences(PREFS_FILE_NAME, Context.MODE_PRIVATE);        SharedPreferences.Editor editor = preferences.edit();        editor.putString(FINANCIAL_KEY, aaa);        editor.commit();    }    /**     * 获取是否第一次进入     * @param context     * @return     */    public static boolean getFinancial(Context context) {        SharedPreferences preferences = context.getSharedPreferences(PREFS_FILE_NAME, Context.MODE_PRIVATE);        return preferences.getString(FINANCIAL_KEY, "").equals(Constants.version);    }}

在需要用到引用图的界面代码

public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);    if(!ChangeLogHelper.getFinancial(getActivity())){//判断是否是第一次进入这页面   是第一次  显示引导图                    startActivity(new Intent(getActivity(), Guide_activity.class).putExtra("class","Products_fragment"));            ChangeLogHelper.saveFinancial(getActivity(), Constants.version);//用于设置判断标识        }} 



转载请注明  转载于:http://blog.csdn.net/u014451709/article/details/44828237



0 0