
<HorizontalScrollView
android:layout_width="200dp"
android:layout_height="fill_parent">
<ListView
android:layout_width="400dp"
android:layout_height="fill_parent"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"
android:scrollingCache="false"
/>
</HorizontalScrollView>
1、Android中的WebView控件当加载html时候,会在data/应用package下生成database与cache两个文件夹如下图如示:
Url记录是保存在webviewCachedb里,而url的内容是保存在webviewCache文件夹下。
WebView中存在着两种缓存:网页数据缓存(存储打开过的页面及资源)、H5缓存(即AppCache)。
2、缓存构成
/data/data/package_name/cache/
/data/data/package_name/database/webviewdb
/data/data/package_name/database/webviewCachedb
webview 会将浏览过的网页url以及网页文件(css、、js等)保存到数据库表中。
缓存模式(5种)
LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据
LOAD_DEFAULT: 根据cache-control决定是否从网络上取数据。
LOAD_CACHE_NORMAL: API level 17中已经废弃, 从API level 11开始作用同LOAD_DEFAULT模式
LOAD_NO_CACHE: 不使用缓存,只从网络获取数据
LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。
首先,打开eclipse,建立一个空的项目。
我们需要的资源:
1 找几张(以4张为例,这个可以自己决定),分别命名:guide_page1png、guide_page2png、guide_page3png、guide_page4png。
2 再找一个button的按钮,类似百度地图上的最后一个“进入地图”按钮。命名为:start_btnpng。
3 两种dot: 。分别命名:guide_dot_focuspng、guide_dot_normalpng。
将以上资源放到res/drawable-hdpi文件夹下(以上资源均在下方源码下载中):
在res/drawable文件夹下添加文件guide_dot_stylexml,用于创建导航小点的样式。
guide_dot_stylexml
[cpp] view plaincopy
<xml version="10" encoding="utf-8">
<selector xmlns:android=">
<item android:drawable="@drawable/guide_dot_focus" android:state_selected="true"/>
<item android:drawable="@drawable/guide_dot_normal"/>
</selector>
在res/layout文件夹下建立一个guide_viewxml,创建我们的页面来显示导航。
guide_viewxml
[java] view plaincopy
<xml version="10" encoding="utf-8">
<RelativeLayout xmlns:android=">
android:layout_width="match_parent"
android:layout_height="match_parent" >
<androidsupportv4viewViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/guide_view_pager">
</androidsupportv4viewViewPager>
<LinearLayout
android:layout_alignParentBottom="true"
android:layout_marginBottom="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:orientation="horizontal"
android:id="@+id/guide_dots">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15dip"
android:src="@drawable/guide_dot_style"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15dip"
android:src="@drawable/guide_dot_style"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15dip"
android:src="@drawable/guide_dot_style"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15dip"
android:src="@drawable/guide_dot_style"/>
</LinearLayout>
</RelativeLayout>
LinearLayout布局是为了放置4个导航小点。
我们还需要单独为最后一张做一个布局,因为这里面有一个button,我们需要给这个button添加点击事件,所以得单独为它写个布局。在res/layout中添加guide_content_viewxml。
guide_content_viewxml
[java] view plaincopy
<xml version="10" encoding="utf-8">
<RelativeLayout xmlns:android=">
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/guide_page4"/>
<Button
android:layout_alignParentBottom="true"
android:layout_marginBottom="35dip"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/start_btn"
android:id="@+id/start_btn"/>
</RelativeLayout>
布局文件完成了,我们来看我们的java代码。
我们需要一个页面适配器来显示我们的viewpager中的,在src目录中添加一个ViewPagerAdapterjava文件。
ViewPagerAdapterjava
[java] view plaincopy
package cnstarayguidetest;
import androidsupportv4viewPagerAdapter;
import androidsupportv4viewViewPager;
import androidviewView;
import javautilArrayList;
/
@Filename ViewPagerAdapterjava
@Package cnstarayguidetest
@Project Guidetest
@Create 2014-6-12 下午2:57:31
@author Staray
@Description 界面适配器
/
public class ViewPagerAdapter extends PagerAdapter {
private final ArrayList<View> mViews;
public ViewPagerAdapter(ArrayList<View> views) {
mViews = views;
}
// 返回页面数目
@Override
public int getCount() {
if (mViews != null) {
return mViewssize();
}
return 0;
}
@Override
public int getItemPosition(Object object) {
return supergetItemPosition(object);
}
// 初始化position位置的页面
@Override
public Object instantiateItem(View view, int position) {
((ViewPager)view)addView(mViewsget(position), 0);
return mViewsget(position);
}
// 判断是否由对象生成界面
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return (arg0 == arg1);
}
// 销毁position位置的界面
@Override
public void destroyItem(View view, int position, Object arg2) {
((ViewPager)view)removeView(mViewsget(position));
}
}
接着我们完成我们的主文件,在src目录中添加一个GuideActivityjava文件。
GuideActivityjava
[java] view plaincopy
package cnstarayguidetest;
import androidappActivity;
import androidcontentIntent;
import androidosBundle;
import androidsupportv4viewViewPager;
import androidsupportv4viewViewPagerOnPageChangeListener;
import androidviewLayoutInflater;
import androidviewView;
import androidviewViewOnClickListener;
import androidwidgetButton;
import androidwidgetImageView;
import androidwidgetLinearLayout;
import javautilArrayList;
/
@Filename GuideActivityjava
@Package cnstarayguidetest
@Project Guidetest
@Create 2014-6-12 下午2:44:23
@author Staray
@Description 引导界面
/
public class GuideActivity extends Activity {
// 显示导航页面的viewpager
private ViewPager guideViewPager;
// 页面适配器
private ViewPagerAdapter guideViewAdapter;
// 页面列表
private ArrayList<View> mViews;
// 资源,这里我们放入了3张,因为第四张,我们已经在guide_content_viewxml中加载好了
// 一会直接添加这个文件就可以了。
private final int images[] = {
Rdrawableguide_page1, Rdrawableguide_page2, Rdrawableguide_page3
};
// 底部导航的小点
private ImageView[] guideDots;
// 记录当前选中的
private int currentIndex;
// 还记得我们的开始按钮吗?
private Button startBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutguide_view);
initView();
initDot();
// 添加页面更换监听事件,来更新导航小点的状态。
guideViewPagersetOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
setCurrentDot(arg0);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
// 开始按钮的点击事件监听
startBtnsetOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 我们随便跳转一个页面
Intent intent = new Intent(GuideActivitythis, MainActivityclass);
startActivity(intent);
GuideActivitythisfinish();
}
});
}
// 初始化页面
private void initView() {
guideViewPager = (ViewPager)findViewById(Ridguide_view_pager);
mViews = new ArrayList<View>();
for (int i = 0; i < imageslength; i++) {
// 新建一个ImageView容器来放置我们的。
ImageView iv = new ImageView(GuideActivitythis);
ivsetBackgroundResource(images[i]);
// 将容器添加到列表中
mViewsadd(iv);
}
// 上面添加了三张了,还有一张放在guide_content_viewxml中,我们把这个页面也添加进来。
View view = LayoutInflaterfrom(GuideActivitythis)inflate(Rlayoutguide_content_view,
null);
mViewsadd(view);
// 现在为我们的开始按钮找到对应的控件
startBtn = (Button)viewfindViewById(Ridstart_btn);
// 现在用到我们的页面适配器了
guideViewAdapter = new ViewPagerAdapter(mViews);
guideViewPagersetAdapter(guideViewAdapter);
}
// 初始化导航小点
private void initDot() {
// 找到放置小点的布局
LinearLayout layout = (LinearLayout)findViewById(Ridguide_dots);
// 初始化小点数组
guideDots = new ImageView[mViewssize()];
// 循环取得小点,让每个小点都处于正常状态
for (int i = 0; i < mViewssize(); i++) {
guideDots[i] = (ImageView)layoutgetChildAt(i);
guideDots[i]setSelected(false);
}
// 初始化第一个小点为选中状态
currentIndex = 0;
guideDots[currentIndex]setSelected(true);
}
// 页面更换时,更新小点状态
private void setCurrentDot(int position) {
if (position < 0 || position > mViewssize() - 1 || currentIndex == position) {
return;
}
guideDots[position]setSelected(true);
guideDots[currentIndex]setSelected(false);
currentIndex = position;
}
}
最终文件结构:
运行,就能出现开始的效果了。
android可以通过BitmapgetPixel(x, y)方法获取指定位置的rgb文件的颜色值。分三个步骤:
1、获取点击处的view的bitmap:可以通过ImageViewgetBackground()/getDrawable()/getDrawingCache()等方式获取。
2、将点击坐标转换为bitmap内部坐标。
3、getPixel(x, y)即可。
可以把视频分解成多张的app很多,例如GIF快手,暴风等。
下载最新版app后安装打开所需要分解的视频,截取视频即可。也可以使用视频转换加,视频转换加是一款专业的视频转换工具,适用于安卓平台。
视频转换功能丰富而且实用,没有太多复杂的 *** 作,可以使用这个软件来进行视频的转换和剪辑。手机内置视频剪辑器可以作为一款附加的视频处理工具去使用。
视频转换器
视频转换加App里面所有功能都是免费的,视频剪辑、视频加音乐、视频加、视频旋转,这些都是常规 *** 作,大部分手机内置的剪辑器都有这些功能。
不过软件的作者为了方便使用,还是把这些基本功能汇集到了一起。而左边这一列功能,例如,视频格式转换、视频转语音、视频压缩、超级视频变声,则是这款App的核心亮点功能。
由于App里面所有的功能,软件作者都免费提供给用户使用,在开屏启动页投放了广告,获取一点收益来维护软件开发。
以上就是关于android,设计画廊滚动条,三张图片,一张图片占1/3滚动条,如图所示,最好使用HorizontalScrollView全部的内容,包括:android,设计画廊滚动条,三张图片,一张图片占1/3滚动条,如图所示,最好使用HorizontalScrollView、Android 下的 WebView 中数据如何保存、Android软件怎么加一个引导界面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)