Android⾃定义对话框Dialog以及主题和样式⾃定义对话框Dialog、Android样式和主题
⾃定义对话框
⾸先需要为弹出的Dialog编写⼀个xml⽂件,确定对话框的样式
如⼀下为l的代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="schemas.android/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent" android:layout_height="match_parent">
<LinearLayout
android:layout_gravity="center"
android:background="#ffffff"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tv_title"
android:background="#0080FF"
android:gravity="center"
android:text="Custom Dialog"
android:textColor="#ffffff"
android:textSize="18sp"
android:visibility="visible"
android:layout_width="match_parent"
android:layout_height="40dp" />
<LinearLayout
android:id="@+id/ll_content"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_msg"
android:gravity="center"
android:minHeight="100dp"
android:paddingBottom="15dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="15dp"
android:textColor="#ff6666"
android:textSize="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
android:layout_gravity="bottom"
android:background="#E0E0E0"
android:gravity="center"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="60dp">
<Button
android:id="@+id/btn_ok"
android:layout_marginLeft="20dp"
android:background="#FF8000"
android:gravity="center"
android:text="OK"
android:textColor="#ffffff"
android:textSize="15sp"
android:layout_width="114dp"
android:layout_width="114dp"
android:layout_height="40dp" />
<Button
android:id="@+id/btn_cancel"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="#d0d0d0"
android:gravity="center"
android:text="Cancel"
android:textColor="#666666"
android:textSize="15sp"
android:layout_width="114dp"
android:layout_height="40dp" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
dialog由 标题栏,内容显⽰区,确定取消按钮 三部分组成。
dialog的样式⽂件编写完成之后需要创建⼀个继承⾃android包下的Dialog的类(例如MyDialog),并加⼊构造函数,在MyDialog内的onCreate⽅法⽤setContentView⽅法将l样式⽂件绑定,之后再MainActiivty中new MyDialog即可显⽰出对话框
样式与主题
创建⼀个样式需要在res/values/style⽬录下的l⽂件内定义,于该⽂件内加⼊如下代码:
<style name="textStyle_two"parent="@style/textStyle_one">
<item name="android:textSize">25sp</item>
</style>
以上⽰例是为TextView标签定义的⼀种样式,可在TextView标签下加⼊style属性引⽤:
style=”@style/textStyle_two”
样式中parent指定的是另⼀个已定义的style,通过parent标签可以引⼊其中的样式属性。
textstyle实际开发中也可以⾃⼰创建样式⽂件,只要把⽂件创建在values⽬录下并以”.xml”结束,同时保持代码结构与l⼀致即可
主题和样式再代码结构上是⼀样的,不同的是主题需要在AndroidManifest⽂件中引⽤,AndroidManifest⽂件中引⽤主题例⼦:
<activity
android:name=".MainActivity"
android:theme="@style/myTheme">
...
</activity>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论