android,设计画廊滚动条,三张图片,一张图片占13滚动条,如图所示,最好使用HorizontalScrollView

android,设计画廊滚动条,三张图片,一张图片占13滚动条,如图所示,最好使用HorizontalScrollView,第1张

<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软件怎么加一个引导界面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9565812.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存