JamesMusic浅读--------3,欢迎界面。
2016-05-26 21:35
531 查看
我们通过读代码发现,数据库写 操作是在欢迎界面里面设置的,那么我们先实现欢迎界面。
为了更好的复制代码,我们先实现一些简单的Helper类。
首先是设置字体的,这个很简单。//Caches the custom fonts in memory to improve rendering performance.
public class TypefaceHelper {
public static final String TYPEFACE_FOLDER = "fonts";
public static final String TYPEFACE_EXTENSION = ".ttf";
private static Hashtable<String, Typeface> sTypeFaces = new Hashtable<String, Typeface>(4);
public static Typeface getTypeface(Context context, String fileName) {
Typeface tempTypeface = sTypeFaces.get(fileName);
if (tempTypeface==null) {
String fontPath = new StringBuilder(TYPEFACE_FOLDER).append('/')
.append(fileName)
.append(TYPEFACE_EXTENSION)
.toString();
tempTypeface = Typeface.createFromAsset(context.getAssets(), fontPath);
sTypeFaces.put(fileName, tempTypeface);
}
return tempTypeface;
}
}
现在开始实现WelcomActivity类。由于欢迎界面是用Fragment呈现的,我们用Fragment来管理。
第一个界面搞定了。
下面在添加一个Fragment
在修改一下Adapter。这样结果如图
下面就是添加目录选择的功能了。
为了更好的复制代码,我们先实现一些简单的Helper类。
首先是设置字体的,这个很简单。//Caches the custom fonts in memory to improve rendering performance.
public class TypefaceHelper {
public static final String TYPEFACE_FOLDER = "fonts";
public static final String TYPEFACE_EXTENSION = ".ttf";
private static Hashtable<String, Typeface> sTypeFaces = new Hashtable<String, Typeface>(4);
public static Typeface getTypeface(Context context, String fileName) {
Typeface tempTypeface = sTypeFaces.get(fileName);
if (tempTypeface==null) {
String fontPath = new StringBuilder(TYPEFACE_FOLDER).append('/')
.append(fileName)
.append(TYPEFACE_EXTENSION)
.toString();
tempTypeface = Typeface.createFromAsset(context.getAssets(), fontPath);
sTypeFaces.put(fileName, tempTypeface);
}
return tempTypeface;
}
}
现在开始实现WelcomActivity类。由于欢迎界面是用Fragment呈现的,我们用Fragment来管理。
public class WelcomeActivity extends AppCompatActivity { private Context mContext; private Common mApp; private ViewPager welcomeViewPager; // private LinePageIndicator indicator; private String mAccountName; // private MusicFoldersFragment mMusicFoldersFragment; // public static BuildingLibraryProgressFragment mBuildingLibraryProgressFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; mApp = (Common) this.getApplicationContext(); overridePendingTransition(R.anim.fade_in, R.anim.fade_out); setContentView(R.layout.activity_welcome); setTheme(R.style.AppTheme); if (getActionBar()!=null) getActionBar().hide(); welcomeViewPager = (ViewPager) findViewById(R.id.welcome_pager); FragmentManager fm = getSupportFragmentManager(); welcomeViewPager.setAdapter(new WelcomePagerAdapter(fm)); welcomeViewPager.setOffscreenPageLimit(6); } class WelcomePagerAdapter extends FragmentStatePagerAdapter{ public WelcomePagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return new WelcomeFragment(); } @Override public int getCount() { return 1; } } }
第一个界面搞定了。
下面在添加一个Fragment
/** * Created by kankan on 2016/5/26. */ public class MusicFoldersFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_welcome_screen_2, container, false); return view; } }
在修改一下Adapter。这样结果如图
下面就是添加目录选择的功能了。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories