精华内容
下载资源
问答
  • 产品的屏是横放的,但是希望桌面上的Hot seat Button是横放的。修改了launcher.xml     android:id="@+id/all_apps_button_cluster"  android:layout_height="@dimen/button_bar_height...

    产品的屏是横放的,但是希望桌面上的Hot seat Button是横放的。修改了launcher.xml

     

        <RelativeLayout
            android:id="@+id/all_apps_button_cluster"
            android:layout_height="@dimen/button_bar_height"
            android:layout_width="fill_parent"
            android:layout_gravity="bottom|center_horizontal"
            android:layout_marginBottom="@dimen/half_status_bar_height"
            >

            <com.android.launcher3.HandleView
                style="@style/HotseatButton"
                android:id="@+id/all_apps_button"
                android:layout_centerHorizontal="true"
                android:layout_alignParentBottom="true"
                android:src="@drawable/all_apps_button"
                launcher:direction="horizontal"
                />

     

    以及styles.xml

     

        <style name="HotseatButton">
            <item name="android:paddingTop">12dip</item>
            <item name="android:paddingBottom">12dip</item>
            <item name="android:background">@drawable/hotseat_bg_center</item>
            <item name="android:layout_height">fill_parent</item>
            <item name="android:layout_width">wrap_content</item>
            <item name="android:scaleType">center</item>
            <item name="android:focusable">true</item>
            <item name="android:clickable">true</item>
        </style>

     

    将其它ImageView改为android:layout_toRightOf="@id/all_apps_button"或者android:layout_toRightOf="@id/all_apps_button"就可以了。

    加了几个Hot seat Button,要和launchHotSeat关联上,还没有看,现在给领导和业务员演示没有什么问题了。

    在模拟器和真机上都可以用了。

     

    展开全文
  • Android代码最终生成APK,也就是APP,中文叫应用程序,就是点击桌面的图标,打开的东西。 代码最终是要生成APK的,也是手机上的应用程序。   对于直接展示在用户面前的APK,也就是各种常见的,大家知道的APP,在...

    Android代码最终生成APK,也就是APP,中文叫应用程序,就是点击桌面的图标,打开的东西。 代码最终是要生成APK的,也是手机上的应用程序。

     

    对于直接展示在用户面前的APK,也就是各种常见的,大家知道的APP,在android里面都属于activity类型。

     

    Activity是区别于service的,他们的区别是有没有界面,有界面的就是Activity,没有界面的就是service。(不只这一个区别哈)

     

    Activity的界面,就是展示给用户的所有东西,但凡用户看到的,都是Activity的界面。

    界面的基础就是布局,即 layout

     

    布局layout是界面的基础,是android提供的一些排列方法。 如果你有好几张图片,那么这些图片将怎么放置在界面上,这个“怎么”就叫做布局。

     

    那么android给予的又有哪些呢?

     

    LinearLayoutTableLayoutFrameLayoutRelativeLayoutGridLayoutAbsoluteLayout

    其中LinearLayoutFrameLayoutRelativeLayout这三种是常用的,另外三种很少用。

     

    先讲一种很少用的AbsoluteLayout,绝对布局,你的每个“东西”,都用其横纵坐标来确定,写坐标,然后就放在哪里。总之观看,感觉非常好用,想放哪里,就放哪里。但是实际上非常难用,原因有二,第一:你无法一次性确定放置坐标,第二不懂手机分辨率不同,这样做,不同手机显示结果完全不同。特别在对齐,排列之间比较烦人。除非你做的APP确实只在一个手机上用,不考虑兼容性和适配性。 也原因话很多时间去计算每个“东西”的坐标,那么还是可以用的。这个布局的好处有两点,第一是,布局直接,如果某种布局真的特别奇葩,直接布局依然能搞定。第二,理解上简单,全是坐标费体力,不费脑力。

     

    AbsoluteLayout相对的就是RelativeLayout

     

    RelativeLayout的字面意思是相对布局,其含义是你放的一个“东西”可以根据另外一个已经放好的“东西”为坐标。这是一个非常常用的方案,它会使你的布局很容易很好看,而且可以放置出各种花样。

     

    比如正中间写名字,在名字下面,就写时间,时间右边写日期,时间下面写地点。名字上面放个图片等等

     

    对的,就是上下左右的排列,你会发现在所有手机中都可以使用这一套。想把名字放中间,以名字为坐标,放上图片和时间,又以时间为坐标写上日期和地址。这样就将一个个的“东西”铺展开来,互不干扰。

     

    基本上RelativeLayout可以布出基本所有的布局,而且占用空间不多,如果初学者想自己编写一个简单的程序,我建议Layout采用RelativeLayout作为练习。

     

    另一种常用的就是LinearLayout,它的特点是非常简单,就是你不用考虑布局,不用设定位置相关信息,它自动帮你排列了。排列出来呈线性可以从上到下,也可以从左到右,非常简单。它的优势就是简单,在使用LinearLayout的时候,我现在认为有两种情况用的比较普遍。

     

    第一种,表格形简单摆列的界面。举个例子,做一个电子书,其中有一个界面是目录,这个目录明显是从上往下,规则排列,那么就可以采用LinearLayout。 这种简单排列用的地方还是很多。

     

    第二种,作为一个局部界面,使用LinearLayout(线性布局),在这个局部里面他是线性的,而整体是多样化的。这里就涉及到一个嵌套。在学习Layout的时候,应该都知道,在Layout里面放的“东西”,会出现在布局中。而一个Layout可以作为一个“东西”放在另外一个Layout里面。这样的话,就可以把小范围内的规则排序,用LinearLayout,放置在大范围不规则排序RelativeLayout中。

     

    最后再说一下FrameLayout(帧布局)FrameLayout也是方框布局,你放入的每个都行,实际都是方块形状的。即使放一个球形图标,在FrameLayout里面,也是一个方块,不过周围是透明的,中间的球形有颜色。

     

    某种情况下,FrameLayout是介于LinearLayoutRelativeLayout之间的,这描述并不准确,但对于初学者我们可以这样理解。

     

    FrameLayout布局操作上比LinearLayout要繁琐一些,但是没有RelativeLayout那么繁琐。RelativeLayout是属于每一个“东西”都要认真考虑其关系。FrameLayout则少一些。

     

    从代码的角度来理解一下,线性布局和帧布局所用的布局相关代码,主要是gravatyweight两者,而相对布局有通过boolean类的类似绝对布局的控制码,以及通过id(其他布局中已有的“东西”)识别其他位置。

     

    RelativeLayout可用布局代码更多,在使用时,也更加复杂, 你必须去对每个东西都进行详细的设置。 设置内容也相对繁琐。

     

    所以在设计较为复杂的布局的时候,首先建议使用嵌套,并不是一个布局吃到底,用RelativeLayout太复杂,10来个“东西”就可以让你写上100行代码,重复性还很高,而一般界面可以有好几十个东西。

     

    其次,仅用FrameLayout或仅用LinearLayout,对于有错位的布局,基本做不下来。

     

    所以使用嵌套,比如首先以一个FrameLayout作为Layout整体布局,里面大概也就划分几个区域。比如以我正在写的wsp为例,在android中,就已FrameLayout,划分6个区域,非常简单,然后对于6号区域,我们以LinearLayout

     

    1号区域则,在使用一个FrameLayout划分一下,里面每个小区域,则采用RelativeLayout进行详细布局。

     

     

    嵌套时在整体FrameLayout布局中,1号的FrameLayout6号的LinearLayout都是以“东西”的形式放在FrameLayout布局中的。

     

    那么什么是“东西”呢?  “东西”是布局里面的组成部分,其xml代码结构:

     

    <布局类型>

    <东西1

    东西1的各种参数

    />

     

    <东西2

    东西2的各种参数

    />

     

    <东西3

    东西3的各种参数

    />

     

    </布局类型>

     

    东西主要有一下三类 android自带组件、用户自定义组件、嵌套的布局。

     

    以上三类可以统做组件,界面的组成部分,在布局的框架中实现。

     

    关于组件明天继续学习。

    展开全文
  • 本文要介绍的是一款基于jQuery的图片列表拖拽排序布局插件,我们可以拖拽图片,将图片插入到其他任意图片的前面或者后面,实现图片重新布局的功能,这个功能可以让用户自定义桌面布局,也是jQuery拖拽插件的一个经典...
  • 行布局编辑器 直观,快速,浏览器内的图像布局预览工具,...窗口大小更改时自动重新布局 保存/恢复布局,也许使用本地存储? 替代图片导入用户界面,因为拖放操作无法在移动设备上运行,或者无法作为本地文件运行时。
  • plsql固定页面布局

    千次阅读 2018-05-23 14:37:06
    安装plsqldev后,调整完左边那一栏的布局后,重新登录又会恢复成初始化的样子:以下设置,可以保存对plsql页面的布局1、在菜单栏中:工具—&gt;首选项在【用户界面】选项中,勾选自动保存桌面,则会保留当前的...

    安装plsqldev后,调整完左边那一栏的布局后,重新登录又会恢复成初始化的样子:

    以下设置,可以保存对plsql页面的布局

    1、在菜单栏中:工具—>首选项

    在【用户界面】选项中,勾选自动保存桌面,

    则会保留当前的页面设置。

    展开全文
  • 3)创建快照,并具有自动缩放功能(屏幕尺寸变化) 快照(备份)功能可以截取你使用前和第一次使用时的快照,同时你可以在任何时间截取当前桌面的快照以保证不会丢失布局。 如果安装过程中出现 安装fences过程中出现...
  • 屏幕布局和屏幕旋转

    2019-09-28 19:40:32
    移动应用开发比桌面应用更难开发,同样一个应用的iPad版本不应该是简单地将iPhone界面放大,而是需要重新布局的。 第1代和第2代iPad屏幕的物理尺寸是9.7英寸,分辨率是1024*768像素,第3代iPad采用视网膜屏幕技术...

      移动应用开发比桌面应用更难开发,同样一个应用的iPad版本不应该是简单地将iPhone界面放大,而是需要重新布局的。

    第1代和第2代iPad屏幕的物理尺寸是9.7英寸,分辨率是1024*768像素,第3代iPad采用视网膜屏幕技术,分辨率达到了2048*1536,而iPad mini的分辨率达到了1024*768像素。

    在iPhone4之前,屏幕的物理尺寸是3.5英寸,屏幕分辨率是480*320像素。iPhone4 和iPhone 4S采用视网膜屏幕技术,屏幕的物理尺寸为3.5英寸,分辨率达到了960*640像素。iPhone 5采用视网膜屏幕技术,屏幕的物理尺寸为4英寸,分辨率是1136*640

    注:屏幕或控件的尺寸以点为单位,在视网膜屏幕技术中,一个点包括了4个像素,而没采用视网膜屏幕技术的一个点包括一个像素

    /*1.png  1@2x.png  1@3x.png

      3GS  3.5寸 320*480 @1x

      4/4s 3.5寸  320*480  @2x  

      5/5c/5s  4寸 320*568 @2x

      6  4.7寸 375*667 @3x

      6Plus  5.5寸 414*736 @3x  

      NSLog(@"w:%f h:%f",[[UIScreen mainScreen] bounds].size.width,[[UIScreen mainScreen] bound].size.height);

    */

    层级的处理:

    1.同一个父视图中先加入的view会被盖在下面

    2.子视图是跟随父视图进行层级遮掩,如果父视图层级低于其他同级视图,则父视图的子视图也会被盖住,但是子视图和其他视图的子视图是没有关系的

    3.交换两个层的视图时需要注意必须填写正确的层数

    4.当层交换了之后对应的子视图的数组下标也会进行改变

    //交换两个层的视图

    [view1 exchangeSubviewAtIndex:0 withSubviewAtIndex:1];

     

    //插入一个视图到指定层

    UIView *view5 = [[UIView alloc]init];

    view5.frame=CGRectMake(7,80,200,200);

    [view1 insertSubview:view5 atIndex:5];

    [view1 insertSubview:view5 aboveSubview:view2];

    [view1 insertSubview:view5 belowSubview:view3];

     

    //将一个view放入到顶层

    [view1 bringSubviewToFront:view3];

    //将一个view放入最底层

    [view1 sendSubviewToBack:view2];

     

    视图的自适应

    1.设置父视图(backview)允许子视图自适用:backview.autoresizesSubviews = YES;

    2.设置子视图(topView)的适用方式:topView.autoresizingMask 

     typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {

        UIViewAutoresizingNone                 = 0,

        UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,

        UIViewAutoresizingFlexibleWidth        = 1 << 1,

        UIViewAutoresizingFlexibleRightMargin  = 1 << 2,

        UIViewAutoresizingFlexibleTopMargin    = 1 << 3,

        UIViewAutoresizingFlexibleHeight       = 1 << 4,

        UIViewAutoresizingFlexibleBottomMargin = 1 << 5

    };

    在iPhone竖屏幕中,状态栏占用20点,导航栏(或工具栏)占用44点,标签栏占用49点,实际这些尺寸在iPhone横屏幕和iPad上也保持不变。

    绝对布局和相对布局:

      绝对布局就是视图或者控件在屏幕中的位置绝对,它的大小也是绝对的。即使它所在的父容器视图大小变化或者屏幕旋转了,它的位置也不变。相对布局在上述情况下,它的位置是变化的。使用绝对布局还是相对布局取决于应用场景。在IOS6之后,推出Autolayout布局技术。选择xib或故事板文件,打开文件检查器,可取消选中Use Autolayout复选框,然后选中改变布局的控件,打开其尺寸检查器,在View的Autosizing属性中,虚线线段代表是相对距离,实线线段代表是绝对距离,点击可相互切换。

    旋转屏幕

     创建工程后,多创建一个

    LandscapeViewController : UIViewController并一起创建xib文件,再在ViewController.h中添加两属性

    @property(nonatomic,strong) UIView *mainPortraitView;

    @property(nonatomic,strong) UIView *mainLandscapeView;
    在ViewController.m中添加代码

    - (void)viewDidLoad {

        [super viewDidLoad];

        // Do any additional setup after loading the view, typically from a nib.

        LandscapeViewController *landscapeViewController = [[LandscapeViewController alloc]initWithNibName:@"LandscapeViewController" bundle:NULL];

        (self.mainLandscapeView) = landscapeViewController.view;

        self.mainPortraitView = self.view;

    }

    -(BOOL)shouldAutorotate{

        return YES;

    }

    -(NSUInteger)supportedInterfaceOrientations

    {

        return UIInterfaceOrientationMaskAllButUpsideDown;

    }

    -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

    {

        

     if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {

            NSLog(@"UIInterfaceOrientationLandscapeRight");

            self.view = self.mainLandscapeView;

            self.view.transform = CGAffineTransformMakeRotation(0);

     

            

        }else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft){

            NSLog(@"UIInterfaceOrientationLandscapeLeft");

            self.view = self.mainLandscapeView;

    //        self.view.transform = CGAffineTransformMakeRotation(-M_PI);

     

            

     

        }else if(toInterfaceOrientation == UIInterfaceOrientationPortrait){

            NSLog(@"UIInterfaceOrientationPortrait");

            self.view = self.mainPortraitView;

            self.view.transform = CGAffineTransformMakeRotation(0);

     

            

     

        }else{

            NSLog(@"UIDeviceOrientationPortraitUpsideDown");

            self.view = self.mainPortraitView;

            self.view.transform = CGAffineTransformMakeRotation(M_PI);

     

     

        }

     

        [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];

    }

     将

    LandscapeViewController的View设置成横屏:

     

     

    手动旋转(禁止自动旋转,有事件触发旋转)

     [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];

    CGRect rect = [UIScreen mainScreen].bounds;

     self.view.bounds = CGRectMake(0.0, 0.0, rect.size.width, rect.size.height); 

    self.view.transform = CGAffineTransformMakeRotation(M_PI/2);

     

    转载于:https://www.cnblogs.com/PJXWang/p/5127705.html

    展开全文
  • PL/SQL Developer初始界面布局,当你设置后,重新启动,界面又重新默认布局。 解决办法: Tools->Preferences->User Interface->Options->Autosave desktop 工具-首选项-用户界面-选项-自动保存...
  • 再次双击,使所有桌面分区重新出现在之前离开的地方。 厌倦了为查找所需内容而搜索几十个图标,或者只是寻找一种方法,以将最喜欢的游戏放在桌面上易于查找的部分?桌面分区工具适合您。 StarDock Fences 特点 ...
  • 使用Win10的时候,经常会发现,右键排列图标或者自动排列图标,经常把自己精心布置的桌面图标打乱顺序,之后还需要重新摆放。有个这个小工具,可以一键备份还原多个时间节点的桌面个性化图标的布局
  • 桌面图标整理工具(Fences)...Fences 通过创建多个栅栏或容器,来分门别类地重新布置桌面上的所有图标,默认的是左上部及右侧布局,包括快速连接、最近使用的图标、程序、网络链接、文件夹、文件和文档等分组;其他...
  • fences(栅栏桌面)通过创建多个栅栏或容器,来分门别类地重新布置桌面上的所有图标,默认的是左上部及右侧布局,包括快速连接、最近使用的图标、程序、网络链接、文件夹、文件和文档等分组;其他布局方式有:底部、...
  • 创建响应式布局集中

    2014-09-13 12:57:03
    1.Bootstrap,这是一个圆滑的,直观的和强大的移动优先的前端框架,用于更快,更容易的 Web 开发。... Booststrap 包含四层网格类​​——手机,平板电脑,台式机,和大型桌面,你可以做一些超级疯狂的布局
  • 微博桌面2012采用迅雷Bolt界面引擎技术,对原有桌面客户端进行重新构架,强化界面、操作、交互等各方面产品性能。 新布局新外观,微博舒适浏览及时获取微博新消息,将@、评论等各类消息提醒一网打尽。开启微博桌面...
  • Delphi桌面壁纸管理器,其实是一个图片管理程序源码,发现以前做的软件功能方面还不太完善,界面也不是十分友好,所以又重新拾回了丢弃已久的程序,增加了一些功能,有些功能还没有实现,不过都先留好了位置。...
  • Fences 通过创建多个栅栏或容器,来分门别类地重新布置桌面上的所有图标,默认的是左上部及右侧布局,包括快速连接、最近使用的图标、程序、网络链接、文件夹、文件和文档等分组;其他布局方式有:底部、底部及右侧...
  • android支持桌面横屏

    千次阅读 2016-10-10 09:50:19
    最近做Pad项目,要求支持横屏模式。需要4*8转成8*3。花了几天时间研究研究。 首先,只要删除AndroidManifest.xml ,...但是横屏之后界面果然够丑,pad 横屏布局重新调整下。 要添加横屏的布局文件。default_worksp
  • 为了使它们可用于常见的桌面环境(或“安装”它们),必须在 XKB 规则中创建一个条目。 Klidsaz 旨在自动化这些创建和安装自定义键盘布局的任务。 用法 运行 klidsaz。 选择一个键。 将出现一个输入框。 输入所需的...
  • CSS自动竖向排列的布局方法

    万次阅读 2014-03-16 10:56:16
    CSS自动竖向排列的布局方法,像电脑桌面的图标一样,自动竖着排,排满一列后重新进行下一列排序。方法有很多,有人用JS,有人用CSS,不管什么样的方法,简单、兼容就是好代码,本代码仅供参考。 ...
  • 以前发布了1.0版本,后来就搁置了。经过这几个月的学习,发现以前做的软件功能方面还不太...重新组织了界面布局,加入了菜单。2.用容器来控制布局,方便拖放各控件。3.加入了图片批量导出功能,批量导入功能还没实现。
  • 默认的Instagram.com布局未针对桌面进行优化。 此扩展程序对此进行了改进。 从下载。 法律 该项目绝不与Instagram或其任何关联公司或附属公司有任何关联,授权,维护,赞助或认可。 这是一个独立的项目。 使用风险...
  • 1 桌面找到浏览器快捷方式 右键打开属性 2."C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" /high-dpi-support=1 /force-device-scale-factor=1 3.重新打开浏览器 就正常了 如有问题 评论提出

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 207
精华内容 82
关键字:

桌面重新布局