博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《android 编程权威指南》--CriminalIntent开发 【贰】
阅读量:7147 次
发布时间:2019-06-29

本文共 2040 字,大约阅读时间需要 6 分钟。

hot3.png

上一次,我们已经对Fragment 有了大概的了解。

现在我们将CrimeFragment进行布局的添加。真正用于项目。

主要是进行


这里我们给Crime实体类添加两个变量,java.util.Date类型的mDate和布尔类型的mSolved

用于表示陋习记录的时间和是否更改陋习。

public class Crime {	private UUID mUid;	private String mTitle = "";	private Date mDate;	private Boolean Solved = false;		/**省略get set方法*/

同时在布局中也添加一个Button和CheckBox

这边我门再给Button进行背景设置,在res/drawable下面创建submit.xml的安装文件

    
        
            
            
            
            
            
            
            
            
            
            
        
     

有关android:state

android 标签 描述
android:state_pressed
是否按下,如一个按钮触摸或者点击
android:state_focused 是否取得焦点,比如用户选择了一个文本框
android:state_hovered  光标是否悬停
android:state_selected 它与focus state并不完全一样,如一个list view 被选中的时候,它里面的各个子组件可能通过方向键,被选中了。
android:state_checkable 组件是否能被check。如:RadioButton是可以被check的
android:state_checked 被checked了,如:一个RadioButton可以被check了
android:state_enabled 能够接受触摸或者点击事件
android:state_activated 被激活
android:state_window_focused 应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了

如果有多个item,那么程序将自动从上到下进行匹配,最先匹配的将得到应用

效果如下:点击Button按钮后会显示颜色的变化。

142408_pkUv_261760.png

但是如果将,屏幕旋转,效果将变化为button横跨整个屏幕,我们希望Button和CheckBox是各占整行的50%

为此我们再添加一个landscape(横向)布局

在res目录下右键,选择Android XML File

143106_ZisG_261760.jpg

写入名字,要与原来纵向布局的名字一样。

143219_YNeT_261760.png

选择纵向的

143254_IckO_261760.png

143255_ssbo_261760.png

这样以后你会看到在res 目录下多出一个layout-land目录,表示在横向情况下用该布局文件。

143255_ErR5_261760.png

修改横向布局,在原来checkBox和Button位置替换为一下代码

 
    

书上有个图能够很好的表示android:layout_weight属性。android:layout_weight属性与android:layout:width属性相关(LinearLayout纵向条件下与android:layout:height相关)

如果Button和CheckBox的android:layout_width属性都为wrap_content,则空间分配如下,含有额外的空间(extra space)

143658_DyEG_261760.gif

然后给Button和CheckBox添加android:layout_weight="1"属性,则会将额外空间按1:1的比例分配给Button和CheckBox

143658_tGUm_261760.gif

如果android:layout_weight比例是2:1(Button 2,CheckBox 1)那么额外空间会按2;1进行分配

143659_k1N2_261760.gif

那么,如果想让Button和CheckBox总的空间分配各占一般怎么办呢?

可以在初始将android:layout_width="0dp",即在一开始不设置宽度,通过android:layout_weight进行空间分配。

144645_PuwH_261760.gif

这样我们完全控制了CrimeFragment在Portrait(纵向)和Landscape(横向)情况下的布局情况。纵向图在上面可以找到,横向图如下:

144912_rQQ1_261760.png

转载于:https://my.oschina.net/xiekakaban/blog/361930

你可能感兴趣的文章
合并傻子//区间dp
查看>>
让IE和Chrome都以隐身模式启动
查看>>
MyPython-->进阶篇-->类
查看>>
unity remote 连接设置
查看>>
2018 NOIP备战计划
查看>>
教你如何迅速秒杀掉:99%的海量数据处理面试题
查看>>
Silverlight如何调用淘宝API
查看>>
ESP8266- AP模式的使用
查看>>
JBoss开发者框架: JBoss技术文档中心
查看>>
linux与win下安装java linux下的安装方法
查看>>
在IIS8添加WCF服务支持
查看>>
(转)代码执行的效率
查看>>
第一天用MongoDB
查看>>
Linux服务器部署系列之二—MySQL篇
查看>>
STM32笔记记录3
查看>>
typedef关键字
查看>>
EntityType 'UserInfo' has no key defined. Define the key for this EntityType.
查看>>
Merge PDF File using itextsharp library
查看>>
使用微软的TFS云服务
查看>>
高效能TCP通讯基础组件Beetle.Express
查看>>