Android中如何在ViewPager中使动态创建的ImageView铺满屏幕

 最近在做东西的时候,有一个要求,就是把用于在ViewPager里面轮播的图片铺满屏幕,但是中间遇到的问题是,ImageView与屏幕之间总是有空隙,情况如下图所示:

  

  当时第一反应时考虑用LayoutParam,可是几经尝试无果,后来在网上找到了解决方案,只要在创建ImageView的时候,把ImageView的属性ScaleType设为FIT_XY然后问题就解决了,具体的代码如下:

  方案一:

  ImageView imageView=new ImageView(context);

  imageView.setScaleType(ScaleType.FIT_XY);//铺满屏幕

  方案二:

  1. <com.huicuitongkeji.ysb.instructions.ViewPagerCompate
  2. android:id="@+id/viewpager"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:scaleType="fitXY"
  6. />

  然后上图中的空隙就不存在了。

  转载至:http://www.th7.cn/Program/Android/201409/279093.shtml

 mTextView.setTextColor(R.color.gray);设置textview字体颜色

  xml里面定义了这个东西
    <?xml version="1.0" encoding="utf-8"?>
      <resources>
          <color name="gray">#800000</color>
          <color name="cornsilk">#DAA520</color>
      </resources>

  这是由于mTextView书写错误,应该是mTextView.setTextColor(this.getResources().getColor(R.color.gray));

 Android开发固定界面的显示方向

  Android内部机制导致,当我们屏幕发生切换时,系统会从新加载界面,这就导致了不必要的更新。如何解决这个问题的呢?通用做法:固定软件的显示界面。

  1、只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制:

  1. android:screenOrientation="landscape"//限制此页面横屏显示,
  2.  
  3. android:screenOrientation="portrait"//限制此页面数竖屏显示。

   android:screenOrientation设定该活动的方向,该值可以是任何一个下面的字符串:

    "unspecified"- 默認值. 由系統選擇顯示方向. 在不同的設備可能會有所不同.  

    "landscape"- 橫向
    "portrait"- 縱向
    "user"- 用戶當前的首選方向
    "behind"- 與在活動堆棧下的活動相同方向
    "sensor"- 根據物理方向傳感器確定方向. 取決於用戶手持的方向, 當用戶轉動設備, 它跟隨改變.
    "nosensor"- 不經物理方向傳感器確定方向. 該傳感器被忽略, 所以當用戶轉動設備, 顯示不會跟隨改變. 除了這個區別,系統選擇使用相同的政策取向對於“未指定”設置. 系統根據“未指定”("unspecified")設定選擇相同顯示方向.

  博客转载自:http://blog.csdn.net/nmgchfzhzhg/article/details/8077133

  2、在AndroidManifest.xml配置文件中 添加属性android:configChanges="orientation"

    这个属性是说明 当屏幕切换(横竖)的时候 去调用onConfigurationChanged方法 未添加该属性 则调用onCreate方法 这样会造成很多麻烦

    如果添加了 android:screenOrientation="landscape" 这个属性 那么屏幕的方向 就会不在变动 锁定屏幕方向 此时onConfigurationChanged方法不会再被调用 。

    onConfigurationChanged方法 在屏幕加锁的 (按开机键锁屏)时候会调用 在屏幕解锁的时候也会调用一次

  博客转载自:http://blog.csdn.net/ewrfedf/article/details/8475772

  3、参考代码:

  1. 参考代码:
  2. ......
  3. public class math extends Activity implements OnClickListener{
  4.  
  5. @Override
  6. public void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8.  
  9. this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  10. // other code;
  11. }

  博客转载自:http://blog.sina.com.cn/s/blog_7062f4a30100ohjn.html

 Android中ImageView通过Activity添加图片

  1. imageView= (ImageView) findViewById(R.id.image_view);
  2. imageView.setImageDrawable(getResources().getDrawable(R.drawable.discover_searchshop));

 Android控件之HorizontalScrollView 去掉滚动条

  在默认情况下,HorizontalScrollView控件里面的内容在滚动的情况下,会出现滚动条,为了去掉滚动条,只需要在<HorizontalScrollView/>里面加一句    android:scrollbars="none"。

  如果想实现在代码里面,点击左(右)按钮【btnLeft(btnRight)】,滚动条里面的内容会向左向右滚动【horizontalScrollViewMM】。代码如下:

滚动条向左滚动:

btnLeft.setOnClickListener( new View.onClickListener(){

horizontalScrollViewMM.arrowScroll(View.FOCUS_LEFT);

});

滚动条向右滚动:

btnRight.setOnClickListener( new View.onClickListener(){

horizontalScrollViewMM.arrowScroll(View.FOCUS_RIGHT);

});

 Android如何根据设备的屏幕来进行图片的显示适配

  近期在项目的开发过程中遇到一个问题,就是一张片如何根据手机屏幕的大小进行适配显示,这就牵涉到动态设置图片的长和宽,下面就是我使用的一种方式:

  1. vp = (ViewPager) findViewById(R.id.product_image);
  2. LayoutParams paramsImage = (LayoutParams) vp.getLayoutParams();
  3. paramsImage.width = ProductItemValueActivity.this.getWindowManager().getDefaultDisplay().getWidth();//先获得屏幕的宽度
  4. paramsImage.height = ProductItemValueActivity.this.getWindowManager().getDefaultDisplay().getHeight();//先获得屏幕的长度
  5. vp.setLayoutParams(paramsImage);

 ScrollView隐藏右侧滚动条

  1. android:scrollbars="none"

  获得设置View的长和宽

  1. private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
  2. private final int FP = ViewGroup.LayoutParams.MATCH_PARENT;

在代码中动态为TextView设置drawableRight

1、通过xml文件进行设置:

  1. <TextView
  2.   android:id="@+id/Title"
  3.   android:layout_width="match_parent"
  4.   android:layout_height="wrap_content"
  5.   android:layout_weight=""
  6.   android:drawableRight="@drawable/check_down"
  7.   android:gravity="center_vertical"
  8.   android:textSize="24dip"
  9.   android:maxLines=""
  10.   android:ellipsize="end"/>

2、通过JAVA代码实现:

  1. Drawable drawable = getResources().getDrawable(R.drawable.spinner_checked);
  2. drawable.setBounds(, , drawable.getMinimumWidth(), drawable.getMinimumHeight()); //设置边界
  3. titleTv.setCompoundDrawables(null, null, drawable, null);//画在右边

 listview的divider边距 

  今天需要设置listview的divider,这个divider是带边距的。一开始想使用一个view做边距,但是需要控制这个view的显示,还要改adapter,很麻烦。其实listview的divider就可以做到。

  1. drawable/list_divider.xml
  2.  
  3. <inset xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:insetLeft="10dp"
  5. android:insetRight="10dp" >
  6.  
  7. <shape android:shape="rectangle" >
  8. <solid android:color="@color/list_divider_color" />
  9. </shape>
  10.  
  11. </inset>
  12. And in your layout:
  13.  
  14. <ListView
  15. android:id="@+id/listView1"
  16. android:layout_width="match_parent"
  17. android:layout_height="match_parent"
  18. android:cacheColorHint="#00000000"
  19. android:divider="@drawable/list_divider"
  20. android:dividerHeight="1dp" >
  21. </ListView>

  

 ListView设置每个item

  1. android:verticalSpacing="35px" <!-- grid元素之间的竖直间隔 -->
  2. android:horizontalSpacing="5px" <!--grid元素之间的水平间隔 -->
  3. android:numColumns="auto_fit" <!--表示有多少列,如果设置为auto_fit,将根据columnWidthSpacing来自动计算 -->
  4. android:columnWidth="100px" <!-- 一般建议采用有像素密度无关的dip或者dp来表示-->
  5. android:stretchMode="columnWidth" <!--如何填满空余的位置,模拟器采用WVGA800*,每排4列,有4*+*=,还余65px的空间,如果是columnWidth,则这剩余的65将分摊给4列,每列增加16/17px。如果采用SpacingWidth,则分摊给3个间隔空隙 -->

  HorizontalScrollView、ScrollView底部的滚动条一直出现不消失

  1. android:scrollbarFadeDuration=""
  2. android:fadeScrollbars="false"

Android之常见问题集锦Ⅰ的更多相关文章

  1. Android之常见问题集锦Ⅱ

    Android问题集锦Ⅰ:http://www.cnblogs.com/AndroidJotting/p/4608025.html EditText输入内容改变事件监听 _edit.addTextCh ...

  2. Android Studio常见问题集锦

    Android studio无法在可视化页面预览XML布局文件 修改res/values/styles.xml文件中name=“AppTheme”的style,在Theme.AppCompat.Lig ...

  3. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的

    ===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...

  4. Android WebView常见问题及解决方案汇总

    Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论. 于是 ...

  5. Android之Android WebView常见问题及解决方案汇总

    如有转载,请声明出处: 时之沙: http://blog.csdn.net/t12x3456 Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变 ...

  6. VueJS 开发常见问题集锦

    由于公司的前端开始转向 VueJS,最近开始使用这个框架进行开发,遇到一些问题记录下来,以备后用. 主要写一些 官方手册 上没有写,但是实际开发中会遇到的问题,需要一定知识基础. 涉及技术栈 CLI: ...

  7. Android Studio使用心得 - 常见问题集锦

    FBI Warning:欢迎转载,但请标明出处:http://blog.csdn.net/codezjx/article/details/38669939,未经本人允许请勿用于商业用途,感谢支持! 整 ...

  8. android adb常见问题的解决方法!

    ** adb的常见问题     adb:android debug bridge,用于连接模拟器/手机与PC端软件(比如:eclipse或者xx手机助手)     adb devices -> ...

  9. Jmeter性能常见问题集锦

    1. java.net.BindException: Address already in use: connect 开始以为是单机运行脚本运行不过来,所以另加了一台负载机同时运行脚本 分布式环境部署 ...

随机推荐

  1. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  2. UWP中实现自定义标题栏

    UWP中实现自定义标题栏 0x00 起因 在UWP开发中,有时候我们希望实现自定义标题栏,例如在标题栏中加入搜索框.按钮之类的控件.搜了下资料居然在一个日文网站找到了一篇介绍这个主题的文章: http ...

  3. 【WCF】错误协定声明

    在上一篇烂文中,老周给大伙伴们介绍了 IErrorHandler 接口的使用,今天,老周补充一个错误处理的知识点——错误协定. 错误协定与IErrorHandler接口不同,大伙伴们应该记得,上回我们 ...

  4. 理解 .NET Platform Standard

    相关博文:ASP.NET 5 Target framework dnx451 and dnxcore50 .NET Platform Standard:https://github.com/dotne ...

  5. LINQ to SQL Select查询

    1. 查询所有字段 using (NorthwindEntities context = new NorthwindEntities()) { var order = from n in contex ...

  6. Git学习笔记一:新建本地仓库及初始化

    1.百度搜索Git下载安装,直接按默认选项安装即可. 例如:Git-2.7.2-32-bit_setup.1457942412.exe 2.配置Git信息,建立版本仓库 (Alt+PrintScerr ...

  7. Android studio使用git教程

    ①下载Git工具,配置到Android studio中 http://git-scm.com/downloads ------------------------------------------- ...

  8. [AlwaysOn Availability Groups]健康模型 Part 1——概述

    健康模型概述 在成功部署AG之后,跟踪和维护健康状况是很重要的. 1.AG健康模型概述 AG的健康模型是基于策略管理(Policy Based Management PBM)的.如果不熟悉这个特性,可 ...

  9. 我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗

    文章背景,回答提问:我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗? 我的建议是这样:1. 不要辞职.首先说,你对整个开发没有一个简单的了解,或一个系统的入门学习.换句 ...

  10. 多用多学之Java中的Set,List,Map

            很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...