Android在标题栏加按钮
- 格式:doc
- 大小:286.50 KB
- 文档页数:13
安卓返回键设置方法安卓的返回键是手机或平板电脑上的一个重要按钮,它通常位于设备底部的屏幕下方。
这个键允许用户在应用程序或界面之间进行快速切换,并返回上一个页面或上一个应用程序。
返回键在安卓系统中十分常用,因此设置它的功能是非常重要的。
下面是关于如何设置安卓返回键的方法的详细指南。
第一种方法是使用设备的内置设置来设置返回键的功能。
不同手机品牌和型号的设置界面可能有所不同,但基本上都遵循相似的步骤。
以下是一般步骤:1.打开手机的设置应用。
通常可以在主屏幕或应用程序抽屉中找到这个图标,它通常是一个齿轮或一个带有设置标志的图标。
2.滚动或查找到“系统”或“设备”选项,并点击进入。
3.在系统设置中,寻找并点击“按钮”或“手势”选项,这取决于您手机的型号和制造商。
4.在按钮或手势选项下,您应该能够找到“返回键”选项。
点击进入。
5.在返回键设置中,您可以选择启用或禁用返回键、更改返回键的长按功能等。
根据您的需要进行调整和选择。
6.如果手机允许您自定义返回键的功能,则可以选择从列表中选择您喜欢的功能或自定义自己的功能。
7.设置完成后,请返回到主界面。
请注意,这些步骤可能因手机型号和制造商而有所不同,您可能需要通过试错的方法找到相应的设置。
但大致步骤是相似的。
第二种方法是使用第三方应用程序来设置返回键的功能。
有许多应用程序可供选择,它们允许您对返回键的功能进行更细致的设置,并提供更多功能选项。
以下是一些常用的返回键应用程序:1. Button Mapper: 这个应用程序允许您重新分配返回键的功能,例如单击、长按或双击返回键时执行不同的操作。
2. All in one Gestures: 这个应用程序允许您使用手势和按钮来执行各种操作,包括返回键的功能。
3. Fluid Navigation Gestures: 这个应用程序为用户提供了完全自定义的手势控制,允许您通过滑动操作来模拟返回键的功能。
这些应用程序可以在谷歌Play商店或其他第三方应用程序商店中找到。
安卓键位操作方法安卓手机作为现代化手机的代表之一,提供了多种键位操作方法。
下面我将详细介绍一下这些操作方法。
1. 主页键操作方法:每个安卓手机通常都有一个主页键,用于返回主屏幕。
按下主页键即可返回主屏幕,从任何界面返回主屏幕。
2. 返回键操作方法:安卓手机还配备了一个返回键,通常位于主页键的右侧。
按下返回键即可返回上一级界面,如从应用程序返回主屏幕,或从一个文件夹返回文件浏览器,等等。
3. 多任务按键操作方法:在一些安卓手机上,会有一个多任务按键,用于快速切换最近使用的应用程序。
按下多任务按键即可打开最近使用的应用程序列表,然后可以选择另一个应用程序。
4. 电源键操作方法:电源键通常位于安卓手机的侧面或顶部,用于打开/关闭手机屏幕。
按下电源键即可锁定/解锁手机屏幕,或者长按电源键可以选择关机、重启手机等选项。
5. 音量键操作方法:安卓手机通常还配备了音量键,包括音量加和音量减两个按键。
按下音量加键可以增加手机的音量,按下音量减键可以减小手机的音量。
在播放音乐或视频时,还可以使用音量键来调节音量。
6. Home键操作方法:某些安卓手机上还有一个Home键,通常位于手机底部的屏幕下方。
按下该Home键可以打开手机主屏幕,与主页键功能类似。
除了上述常见的键位操作方法外,安卓手机还提供了一些便捷的操作方法,例如:7. 截屏操作方法:在某些安卓手机上,按下电源键和音量减键(有时也是音量加键)同时按住几秒钟,即可截取当前屏幕的截屏。
截屏后,可以在相册或截屏文件夹中找到并查看截屏图片。
8. 快捷开关操作方法:在安卓手机的下拉通知栏中,可以找到一些快捷开关按钮,如Wi-Fi、蓝牙、屏幕旋转、飞行模式等。
点击这些按钮可以快速切换相应的功能。
9. 手势操作方法:某些安卓手机还支持手势操作。
例如,在锁屏状态下双击屏幕可以点亮手机;在打开某些应用程序时,可以使用手势进行快速操作,如双击屏幕返回、双击屏幕切换到下一个界面等。
android floatingactionbutton用法FloatingActionButton是一个轻型控件,通常用于应用程序的主要操作。
它是一个圆形按钮,可以悬浮在屏幕上,并在用户点击时显示相关的操作选项。
使用FloatingActionButton时,你需要首先在布局文件中添加一个FloatingActionButton视图:```xml<android.support.design.widget.FloatingActionButtonandroid:id="@+id/fab"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_add"android:layout_gravity="bottom|end"android:layout_margin="@dimen/fab_margin" />```然后,在你的Activity或Fragment的代码中,你可以使用以下代码来设置FloatingActionButton的点击事件监听器:```javaFloatingActionButton fab = findViewById(R.id.fab);fab.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {// 在这里处理FloatingActionButton的点击事件}});```你还可以根据需要设置FloatingActionButton的外观和行为。
例如,你可以设置按钮的背景色、图标、大小和位置等等。
安卓修改标题栏稍微学习了⼀点,安卓标题栏的修改,对于不同的界⾯,可能会使⽤不同的标题举个例⼦第⼀步:右键你的app ,New⼀个Android resource file随意起⼀个⽂件名 style.xml 这个⽂件会出现在values⽂件夹下内容如下:<?xml version="1.0" encoding="utf-8"?><resources><style name="TitleBackgroundColor"> //这⾥实现的设置标题栏的背景颜⾊<item name="android:background">@color/selected_color</item>//这⾥的颜⾊需要⾃⼰写此处我引⽤了我项⽬中的颜⾊</style><style name="titlestyle" parent="android:Theme">//这⾥就是对于标题栏的设置 name就是你所写的标题栏的"代表"<item name="android:windowTitleSize">40dip</item>//这是⾼度<item name="android:windowTitleBackgroundStyle">@style/TitleBackgroundColor</item>//这⾥是上⾯的写的背景⾊注意name就⼤概了解意思了</style></resources>第⼆步:在你的清单⽂件 AndroidMainfest.xml 中,找到你的application 在当中添加android:theme="@style/titlestyle" //这个就是第⼀步⾃⼰定义的“风格”==》你的标题栏第三步:开始⾃⼰设置你想要标题栏的样式:加⼊我想标题显⽰:我的标题栏通过⾃⼰布局;1.新建⼀个布局⽂件 title_home.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:orientation="vertical"><TextViewandroid:id="@+id/textView19"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="我的标题栏"android:textSize="20dp" //字体⼤⼩android:textColor="@color/encode_view"/>//字体颜⾊需⾃⼰设置</LinearLayout></LinearLayout>以上的布局可以通过预览效果看到,是⼀个居中显⽰的Textview 居中的字体是“我的标题栏”第四步:也是最重要的⼀步(代码顺序)进⼊你需要设置标题栏的那个activity中,在oncreate⽅法中,你会看见setonContetnView这个⽅法,我们都知道这个是加载布局的:当我们需要使⽤⾃⼰使⽤的标题栏时候就添加如下代码:顺序如下requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);//添加这句:这⾥表达的意思为使⽤⾃定义标题栏setContentView(yout.settings);//这是加载的页⾯布局getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,yout.title_home);//然后在加⼊这句话,这句话加载的yout."刚才你写的布局⽂件的名称"最后,可是run⼀下看看效果了。
Android五种隐藏状态栏和标题栏的⽅法Android五种隐藏状态栏和标题栏的⽅法⽅法⼀:public class MainActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);// 隐藏标题栏requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏状态栏getWindow().setFlags(youtParams.FLAG_FULLSCREEN,youtParams.FLAG_FULLSCREEN);setContentView(yout.activity_main);}}⽅法⼆:<!-- 同时隐藏状态栏和标题栏 --><activityandroid:name="com.ysj.demo.MainActivity"android:theme="@android:style/Theme.NoTitleBar.Fullscreen"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></activity>⽅法三:<!-- Application theme. --><style name="AppTheme" parent="AppBaseTheme"><!-- All customizations that are NOT specific to a particular API-level can go here. --><!-- 隐藏状态栏 --><item name="android:windowFullscreen">true</item><!-- 隐藏标题栏 --><item name="android:windowNoTitle">true</item></style>⽅法四:动态显⽰隐藏状态栏//隐藏状态栏youtParams lp = context.getWindow().getAttributes();lp.flags |= youtParams.FLAG_FULLSCREEN;context.getWindow().setAttributes(lp);//显⽰状态栏youtParams attr = context.getWindow().getAttributes();attr.flags &= (~youtParams.FLAG_FULLSCREEN);context.getWindow().setAttributes(attr);⽅法五:动态显⽰隐藏状态栏View类提供了setSystemUiVisibility和getSystemUiVisibility⽅法,这两个⽅法实现对状态栏的动态显⽰或隐藏的操作,以及获取状态栏当前可见性。
【Android UI设计与开发】第15期:实现悬浮式顶部和底部标题栏效果这篇文章是实现了百度贴吧一个老版本的悬浮式顶部和底部的标题栏效果,觉得还挺有意思的就想跟大家一起分享一下,也算是对前面学过的UI设计知识的一个总结吧。
好的,话不多说,请大家先看效果图。
一、实现效果图二、项目结构图三、详细代码编写1、主布局Tab选项卡页面,maintabs_activity.xml:<?xml version="1.0" encoding="utf-8"?><TabHostxmlns:android=""android:id="@android:id/tabhost"android:layout_width="fill_parent"android:layout_height="fill_parent" ><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/backgroundcolor"android:orientation="vertical" ><FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="fill_parent"android:layout_height="0.0dip"android:layout_weight="1.0" /><TabWidgetandroid:id="@android:id/tabs"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="0.0"android:visibility="gone" /><FrameLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="bottom"android:layout_marginTop="-10.0dip"android:background="@drawable/maintab_toolbar_bg"android:paddingLeft="7.0dip"android:paddingRight="7.0dip" ><RadioGroupandroid:id="@+id/main_radio"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center_vertical"android:orientation="horizontal" > <RadioButton android:id="@+id/radio_home"style="@style/main_tab_bottom"android:drawableTop="@drawable/tabs_home"android:text="@string/bar" /> <RadioButtonandroid:id="@+id/radio_mention"style="@style/main_tab_bottom"android:drawableTop="@drawable/tabs_sort"android:text="@string/remind" /> <RadioButtonandroid:id="@+id/radio_person_info"style="@style/main_tab_bottom"android:drawableTop="@drawable/tabs_search"android:text="@string/person_info" /> <RadioButton android:id="@+id/radio_more"style="@style/main_tab_bottom"android:drawableTop="@drawable/tabs_more"android:text="@string/more" /></RadioGroup><TextViewandroid:id="@+id/message_mention"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="top|left|center"android:layout_marginLeft="115.0dip"android:background="@drawable/message_tips"android:gravity="center"android:textColor="#ffffffff"android:textSize="10sp"android:visibility="visible" /><TextViewandroid:id="@+id/message_person"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="top|left|center"android:layout_marginTop="-5.0dip"android:background="@drawable/message_tips"android:gravity="center"android:textColor="#ffffffff"android:textSize="13.0sp"android:visibility="visible" /></FrameLayout></LinearLayout></TabHost>复制代码2、贴吧首页布局页面,home_activity.xml:<?xml version="1.0" encoding="utf-8"?> <RelativeLayoutxmlns:android=""xmlns:tools=""android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/backgroundcolor"tools:ignore="ContentDescription" > <!-- 标题栏--> <LinearLayout android:id="@+id/home_layout_bar"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_gravity="top"android:background="@drawable/title_bg"android:gravity="center" ><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/home_topbar_bg"android:gravity="center"android:orientation="horizontal" > <!-- 我的贴吧--> <ImageButton android:id="@+id/home_bt_like"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_gravity="center"android:layout_margin="0.0dip"android:layout_weight="1.0"android:background="@null"android:padding="0.0dip"android:paddingBottom="2.0dip"android:scaleType="center"android:src="@drawable/home_bt_like_on" /><!-- 我的标签--> <ImageButtonandroid:id="@+id/home_bt_mark"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_gravity="center"android:layout_margin="0.0dip"android:layout_weight="1.0"android:background="@null"android:padding="0.0dip"android:paddingBottom="2.0dip"android:scaleType="center" android:src="@drawable/home_bt_mark" /></LinearLayout></LinearLayout> <FrameLayoutandroid:id="@+id/content"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_below="@id/home_layout_bar"android:layout_marginTop="-12.0dip"/></RelativeLayout>复制代码3、首页贴吧布局页面中的其他两个Activity 布局页面,“我的贴吧”Activity布局页面,home_my_activity.xml:<?xml version="1.0" encoding="utf-8"?><FrameLayoutxmlns:android=""android:layout_width="fill_parent"android:layout_height="fill_parent" > <!-- 我的贴吧页面--><ImageViewandroid:id="@+id/image_xianjian"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/xianjian1"android:visibility="gone" /> <ProgressBarandroid:id="@+id/home_progress_like"style="?android:attr/progressBarStyleInverse"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:indeterminateDrawable="@drawable/progressbar"android:visibility="visible"/></FrameLayout>复制代码“我的标签”Activity布局页面,home_mark_activity.xml:<?xml version="1.0" encoding="utf-8"?><FrameLayoutxmlns:android=""android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1.0" > <!-- 我的标签页面--> <ImageView android:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/xianjian2"/></FrameLayout>复制代码4、“提醒”Activity布局页面,mention_activity.xml:<?xml version="1.0" encoding="utf-8"?> <RelativeLayoutxmlns:android=""android:id="@+id/mention"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#fff1f1f1" > <!-- 标题栏--> <LinearLayoutandroid:id="@+id/mention_layout_bar"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_margin="0.0dip"android:background="@drawable/title_bg" > <LinearLayout android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_margin="0.0dip"android:background="@drawable/home_topbar_bg"android:orientation="horizontal" ><Buttonandroid:id="@+id/mention_bt_replyme"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_gravity="center"android:layout_margin="0.0dip"android:layout_weight="1.0"android:background="@drawable/home_topbar_bt"android:clickable="false"android:gravity="center"android:padding="0.0dip"android:paddingBottom="2.0dip"android:text="@string/mention_replyme"android:textColor="#ffffffff"android:textSize="13.0sp" /><Buttonandroid:id="@+id/mention_bt_atme"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_gravity="center"android:layout_margin="0.0dip"android:layout_weight="1.0"android:background="@null"android:clickable="true"android:gravity="center"android:padding="0.0dip"android:paddingBottom="2.0dip"android:text="@string/mention_atme"android:textColor="#ff90afff"android:textSize="13.0sp" /></LinearLayout></LinearLayout></RelativeLayout>复制代码5、“个人资料”布局页面,personalinfo_activity.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android=""android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/white"android:orientation="vertical" ><LinearLayoutandroid:id="@+id/title"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:background="@drawable/title_bg" > <Button android:id="@+id/back"style="@style/comm_controls"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical" android:layout_marginLeft="3dp"android:background="@drawable/title_back" android:text="@string/back"android:textColor="#ffffffff" /><TextViewandroid:id="@+id/titel_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_weight="1.0"android:gravity="center_horizontal"android:textColor="@color/white"android:visibility="visible" /><Buttonandroid:id="@+id/home"style="@style/comm_controls"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginRight="3dp" android:background="@drawable/title_home"android:textColor="#ffffffff" /><Buttonandroid:id="@+id/refresh"style="@style/comm_controls"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:background="@drawable/person_refresh"android:visibility="gone" /></LinearLayout> <FrameLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_marginTop="-14.0dip" > <LinearLayout android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><RelativeLayoutandroid:id="@+id/info"android:layout_width="fill_parent"android:layout_height="90.0dip" ><ImageViewandroid:id="@+id/photo"android:layout_width="50.0dip"android:layout_height="50.0dip"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:layout_marginLeft="10.0dip"android:background="@drawable/person_photo_bg"android:clickable="true"android:padding="5.0dip"android:src="@drawable/person_photo" /><LinearLayoutandroid:id="@+id/buttons" android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:layout_marginRight="13.0dip" ><Buttonandroid:id="@+id/change" android:layout_width="wrap_content" android:layout_height="wrap_content"android:background="@drawable/button_change" /><LinearLayoutandroid:id="@+id/attention"android:layout_width="wrap_content"android:layout_height="wrap_content"android:clickable="true"android:gravity="center"android:minHeight="20.0dip"android:minWidth="75.0dip"android:visibility="gone" > <LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal" ><TextViewandroid:id="@+id/attention_text"android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical"android:textColor="@color/white"android:textSize="15.0sp" /><ProgressBarandroid:id="@+id/attention_progress"style="?android:attr/progressBarStyleSmall"android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical"android:layout_marginLeft="3.0dip"android:layout_toRightOf="@id/attention_text"android:indeterminateDrawable="@drawable/progressbar"android:visibility="gone" /></LinearLayout></LinearLayout></LinearLayout><LinearLayoutandroid:id="@+id/line1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@id/photo"android:layout_marginLeft="10.0dip"android:layout_marginRight="10.0dip"android:layout_marginTop="5.0dip"android:layout_toLeftOf="@id/buttons"android:layout_toRightOf="@id/photo"android:orientation="horizontal" > <LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content" ><TextViewandroid:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content"android:layout_weight="1.0"android:singleLine="true" android:textColor="@color/black" android:textSize="15.0sp" /> <ImageViewandroid:id="@+id/sex" android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5.0dip"android:layout_marginTop="2.0dip"android:layout_weight="0.0" /></LinearLayout></LinearLayout><TextViewandroid:id="@+id/intro"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignLeft="@id/line1"android:layout_below="@id/line1"android:layout_marginBottom="10.0dip"android:layout_marginRight="10.0dip"android:layout_marginTop="4.0dip"android:layout_toLeftOf="@id/buttons"android:singleLine="true"android:textColor="#ff484848"android:textSize="13.0dip" /></RelativeLayout><ImageViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:scaleType="fitCenter"android:src="@drawable/list_divider" /></LinearLayout></FrameLayout></LinearLayout>复制代码6、“更多”布局页面,more_activity.xml:<?xml version="1.0" encoding="utf-8"?> <RelativeLayoutxmlns:android=""android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/backgroundcolor" > <!-- 标题栏--> <LinearLayoutandroid:id="@+id/title"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_gravity="top"android:background="@drawable/title_bg" > <TextView android:id="@+id/titel_text"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_marginRight="10.0dip"android:layout_weight="1.0"android:gravity="center_horizontal"android:singleLine="true"android:text="@string/more"android:textColor="#ffffffff"android:textSize="15.0sp" /></LinearLayout></RelativeLayout>复制代码7、布局页面就写完了,还有一些自定义按钮的资源文件我就不贴了,有需要的同学可以直接下载源码,下面是Java代码部分,主布局Tab选项卡Activity页面,MainActivity.java: package com.yangyu.mytitlebar02;importandroid.app.TabActivity;import android.content.Intent;import android.os.Bundle;import poundButton;importpoundButton.OnCheckedChangeListe ner;import android.widget.RadioButton;import android.widget.TabHost;import android.widget.TextView;importcom.yangyu.mytitlebar02.home.HomeActivity;/*** @author yangyu* 功能描述:主Activity程序入口类*/public class MainActivity extends TabActivity implements OnCheckedChangeListener {//定义Tab选项卡标示符private static final String HOME_TAB ="home_tab";private static final String MENTION_TAB = "mention_tab";private static final String PERSON_TAB = "person_tab";private static final String MORE_TAB ="more_tab"; //定义Intent对象private IntentmHomeIntent,mMentionIntent,mPersonIntent,mMoreIntent; //定义TabHost对象private TabHost mTabHost; //定义单选按钮对象private RadioButtonhomeRb,mentionRb,personRb,moreRb;//定义消息提示文本对象private TextViewmMessageTipsMention,mMessageTipsPerson;@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.maintabs_activity);initView();initData();}/*** 初始化组件*/private void initView(){//得到TabHostmTabHost = getTabHost();//得到Intent对象mHomeIntent = new Intent(this, HomeActivity.class);mMentionIntent = new Intent(this, MentionActivity.class); mPersonIntent = new Intent(this, PersonInfoActivity.class); mMoreIntent = new Intent(this, MoreActivity.class);//得到消息提示文本对象mMessageTipsMention = (TextView) findViewById(R.id.message_mention); mMessageTipsPerson = (TextView) findViewById(R.id.message_person);//得到单选按钮对象homeRb = ((RadioButton) findViewById(R.id.radio_home));mentionRb = ((RadioButton) findViewById(R.id.radio_mention)); personRb = ((RadioButton) findViewById(R.id.radio_person_info)); moreRb = ((RadioButton) findViewById(R.id.radio_more));}/*** 初始化数据*/private void initData(){//给单选按钮设置监听homeRb.setOnCheckedChangeListener(this);mentionRb.setOnCheckedChangeListener(this);personRb.setOnCheckedChangeListener(this);moreRb.setOnCheckedChangeListener(this);//给消息提示文本设置文字mMessageTipsMention.setText("2");mMessageTipsPerson.setText("4");//添加进Tab选项卡mTabHost.addTab(buildTabSpec(HOME_TAB, mHomeIntent));mTabHost.addTab(buildTabSpec(MENTION_TAB, mMentionIntent));mTabHost.addTab(buildTabSpec(PERSON_TAB, mPersonIntent));mTabHost.addTab(buildTabSpec(MORE_TAB, mMoreIntent));//设置当前默认的Tab选项卡页面homeRb.setChecked(true); mTabHost.setCurrentTabByTag(HOME_TAB);}private TabHost.TabSpec buildTabSpec(String tag, Intent intent) { TabHost.TabSpec tabSpec = mTabHost.newTabSpec(tag);tabSpec.setContent(intent).setIndicator("");return tabSpec;} /*** Tab按钮选中监听事件*/public voidonCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (isChecked) {switch (buttonView.getId()) {case R.id.radio_home: mTabHost.setCurrentTabByTag(HOME_TAB);break;case R.id.radio_mention:mTabHost.setCurrentTabByTag(MENTION_TAB);//VISIBLE:0 意思是可见的;INVISIBILITY:4 意思是不可见的,但还占着原来的空间;GONE:8 意思是不可见的,不占用原来的布局空间mMessageTipsMention.setVisibility(8);break;case R.id.radio_person_info:mTabHost.setCurrentTabByTag(PERSON_TAB);mMessageTipsPerson.setVisibility(8);break;case R.id.radio_more: mTabHost.setCurrentTabByTag(MORE_TAB);break;default:break;}}}}复制代码8、贴吧首页Activity页面,HomeActivity.java: package com.yangyu.mytitlebar02.home;import android.app.ActivityGroup;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.FrameLayout;import android.widget.ImageButton;importcom.yangyu.mytitlebar02.R;/*** @author yangyu* 功能描述:贴吧首页Activity页面*/public class HomeActivity extends ActivityGroup implements OnClickListener{//定义帧布局对象private FrameLayout mContent;//定义图片按钮对象private ImageButton myButton,markButton;//定义标示符private static final String HOME_LIKE_ID = "like";private static final String HOME_MARK_ID = "mark"; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.home_activity);mContent = (FrameLayout) findViewById(R.id.content);//得到按钮对象myButton = (ImageButton) findViewById(R.id.home_bt_like);markButton = (ImageButton) findViewById(R.id.home_bt_mark);case R.id.radio_mention:mTabHost.setCurrentTabByTag(MENTION_TAB);//VISIBLE:0 意思是可见的;INVISIBILITY:4 意思是不可见的,但还占着原来的空间;GONE:8 意思是不可见的,不占用原来的布局空间mMessageTipsMention.setVisibility(8);break;case R.id.radio_person_info:mTabHost.setCurrentTabByTag(PERSON_TAB);mMessageTipsPerson.setVisibility(8);break;case R.id.radio_more: mTabHost.setCurrentTabByTag(MORE_TAB);break;default:break;}}}}复制代码8、贴吧首页Activity页面,HomeActivity.java: package com.yangyu.mytitlebar02.home;import android.app.ActivityGroup;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.FrameLayout;import android.widget.ImageButton;importcom.yangyu.mytitlebar02.R;/*** @author yangyu* 功能描述:贴吧首页Activity页面*/public class HomeActivity extends ActivityGroup implements OnClickListener{//定义帧布局对象private FrameLayout mContent;//定义图片按钮对象private ImageButton myButton,markButton;//定义标示符private static final String HOME_LIKE_ID = "like";private static final String HOME_MARK_ID = "mark"; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.home_activity);mContent = (FrameLayout) findViewById(R.id.content);//得到按钮对象myButton = (ImageButton) findViewById(R.id.home_bt_like); markButton = (ImageButton) findViewById(R.id.home_bt_mark); importpoundButton.OnCheckedChangeListe ner; import android.widget.RadioButton;import android.widget.TabHost;import android.widget.TextView;importcom.yangyu.mytitlebar02.home.HomeActivity;/*** @author yangyu* 功能描述:主Activity程序入口类*/public class MainActivity extends TabActivity implements OnCheckedChangeListener {//定义Tab选项卡标示符private static final String HOME_TAB ="home_tab";private static final String MENTION_TAB = "mention_tab";private static final String PERSON_TAB = "person_tab";private static final String MORE_TAB ="more_tab"; //定义Intent对象private IntentmHomeIntent,mMentionIntent,mPersonIntent,mMoreIntent; //定义TabHost对象private TabHost mTabHost; //定义单选按钮对象private RadioButtonhomeRb,mentionRb,personRb,moreRb;//定义消息提示文本对象private TextViewmMessageTipsMention,mMessageTipsPerson;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.maintabs_activity);initView();initData();}/*** 初始化组件*/private void initView(){//得到TabHostmTabHost = getTabHost();//得到Intent对象mHomeIntent = new Intent(this, HomeActivity.class);mMentionIntent = new Intent(this, MentionActivity.class); mPersonIntent = new Intent(this, PersonInfoActivity.class); mMoreIntent = new Intent(this, MoreActivity.class);//得到消息提示文本对象mMessageTipsMention = (TextView) findViewById(R.id.message_mention); mMessageTipsPerson = (TextView) findViewById(R.id.message_person);//得到单选按钮对象homeRb = ((RadioButton) findViewById(R.id.radio_home));mentionRb = ((RadioButton) findViewById(R.id.radio_mention)); personRb = ((RadioButton) findViewById(R.id.radio_person_info)); moreRb = ((RadioButton) findViewById(R.id.radio_more));}/*** 初始化数据*/private void initData(){//给单选按钮设置监听homeRb.setOnCheckedChangeListener(this);mentionRb.setOnCheckedChangeListener(this);personRb.setOnCheckedChangeListener(this);moreRb.setOnCheckedChangeListener(this);//给消息提示文本设置文字mMessageTipsMention.setText("2");mMessageTipsPerson.setText("4");//添加进Tab选项卡mTabHost.addTab(buildTabSpec(HOME_TAB, mHomeIntent));mTabHost.addTab(buildTabSpec(MENTION_TAB, mMentionIntent));mTabHost.addTab(buildTabSpec(PERSON_TAB, mPersonIntent));mTabHost.addTab(buildTabSpec(MORE_TAB, mMoreIntent));//设置当前默认的Tab选项卡页面homeRb.setChecked(true); mTabHost.setCurrentTabByTag(HOME_TAB); }private TabHost.TabSpec buildTabSpec(String tag, Intent intent) { TabHost.TabSpec tabSpec = mTabHost.newTabSpec(tag);tabSpec.setContent(intent).setIndicator("");return tabSpec;} /*** Tab按钮选中监听事件*/public voidonCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) {switch (buttonView.getId()) {case R.id.radio_home: mTabHost.setCurrentTabByTag(HOME_TAB); break;case R.id.radio_mention:mTabHost.setCurrentTabByTag(MENTION_TAB);//VISIBLE:0 意思是可见的;INVISIBILITY:4 意思是不可见的,但还占着原来的空间;GONE:8 意思是不可见的,不占用原来的布局空间mMessageTipsMention.setVisibility(8);break;case R.id.radio_person_info:mTabHost.setCurrentTabByTag(PERSON_TAB);mMessageTipsPerson.setVisibility(8);break;case R.id.radio_more: mTabHost.setCurrentTabByTag(MORE_TAB);break;default:break;}}}}复制代码8、贴吧首页Activity页面,HomeActivity.java: package com.yangyu.mytitlebar02.home;import android.app.ActivityGroup;。
android8种对话框(Dialog)使用方法汇总Android中提供了多种对话框(Dialog)用于与用户进行交互。
下面将介绍Android中的8种常用对话框及其使用方法。
1. AlertDialog对话框:AlertDialog对话框是Android中最常用的对话框之一、它可以显示一个带有标题、消息和按钮的对话框。
使用AlertDialog.Builder类创建AlertDialog对象并设置相关属性,如标题、消息、按钮等。
然后调用show(方法显示对话框。
2. ProgressDialog对话框:ProgressDialog对话框用于显示一个进度条,通常用于表示长时间运行的任务的进度。
使用ProgressDialog类创建ProgressDialog对象,并使用setProgressStyle(方法设置进度条的样式,然后使用show(方法显示对话框。
可以通过调用setProgress(方法来更新进度条的进度。
3. DatePickerDialog日期选择对话框:DatePickerDialog对话框用于选择日期。
使用DatePickerDialog类创建DatePickerDialog对象,并使用setDate(方法设置初始日期。
然后使用show(方法显示对话框。
可以通过实现OnDateSetListener接口来监听用户选择的日期。
4. TimePickerDialog时间选择对话框:TimePickerDialog对话框用于选择时间。
使用TimePickerDialog类创建TimePickerDialog对象,并使用setTime(方法设置初始时间。
然后使用show(方法显示对话框。
可以通过实现OnTimeSetListener接口来监听用户选择的时间。
5. AlertDialog单选对话框:AlertDialog单选对话框用于让用户从多个选项中选择一个选项。
使用AlertDialog.Builder类创建AlertDialog对象,并使用setSingleChoiceItems(方法设置选项列表。
Android制作漂亮自适布局键盘的方法,android 软键盘顶布局最近做了个自定义键盘,但面对不同分辨率的机型其中数字键盘不能根据界面大小自已铺满,但又不能每种机型都做一套吧,所以要做成自适应,那这里主讲思路。
这里最上面的titlebar高度固定,下面输入的金额高度也固定(当然也可以自适应),主要是中间的数字键盘,高度和宽度需要自适应。
先来张效果图:最常见的解决方案是用线性布局,自适应当然是按比例,但布局中无%的概念,那就要用到layout_weight 了,该属性的作用是决定控件在其父布局中的显示权重(具体概念就不多说了)。
这里用一个linearlayout 将数字键盘与下面的支付类型进行包装,然后用一个大linearlayout 包住所有的数字键盘如下图,它与下面支付类型比例是6:1,这样数字键盘就会按屏幕大小高度与宽度进行变化,每一行数字键盘用一个linearlayout ,里面包3个数字显示button 按钮。
设置每行的linearlayout 的layout_height=0dp ,layout_weight=1,具体设置如下:[Java] 查看源文件 复制代码?1 2 3 4 5 6 7 8 <style name="layout_input_amount_style"><item name="android:layout_width">match_parent</item><item name="android:layout_height">0dp</item><item name="android:layout_weight">1</item><item name="android:layout_marginbottom">1dp</item><item name="android:gravity">center</item><item name="android:orientation">horizontal</item></style>这样就保证了上下自适应布局。
Android中标题栏添加按钮现在很多的Android程序都在标题栏上都显示了一些按钮和标题,如下图:下面通过实例来看一下如何实现。
1、在layout下创建一个titlebtn.xml文件,内容如下:[html]view plaincopyprint?1. <?xml version="1.0"encoding="utf-8"?>2. <RelativeLayout xmlns:android="/apk/res/android"3. android:orientation="horizontal"4. android:layout_width="fill_parent"5. android:layout_height="fill_parent">6.7. <ImageButton8. android:id="@+id/imageButton1"9. android:layout_width="wrap_content"10. android:layout_height="wrap_content"11. android:background="#00000000"12. android:layout_centerVertical="true"13. android:layout_alignParentLeft="true"14. android:src="@drawable/prv"/>15.16. <TextView17. android:layout_width="wrap_content"18. android:layout_height="wrap_content"19. android:layout_centerInParent="true"20. android:text="标题栏"/>21.22. <ImageButton23. android:id="@+id/imageButton1"24. android:layout_width="wrap_content"25. android:layout_height="wrap_content"26. android:background="#00000000"27. android:layout_centerInParent="true"28. android:layout_alignParentRight="true"29. android:src="@drawable/next"/>30.31. </RelativeLayout>1. requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);2. setContentView(yout.main);3. getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, yout.titlebtn);说一下具体步骤。
首先,修改标题栏的宽度和背景,在strings.xml中添加:<style name="CustomWindowTitleBackground"><item name="android:background">@drawable/title_bg</item></style><style name="test" parent="android:Theme"><item name="android:windowTitleSize">40dp</item><itemname="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBac kground</item></style>然后修改AndroidMainfest.xml文件:<activity android:name=".MainActivity"android:theme="@style/test"><intent-filter><action android:name="android.intent.action.MAIN" /> <categoryandroid:name="UNCHER" /></intent-filter></activity>红色部分为加载Activity的theme。
接着修改MainActivity:public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); //声明使用自定义标题setContentView(yout.main);getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,yout.title);//自定义布局赋值}注意红色部分标记的3行代码,顺序不能颠倒。
最后在layout文件夹中添加title.xml文件,内容如下:<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="/apk/res/android"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"><ImageView android:layout_width="wrap_content"android:layout_centerVertical=’true’android:layout_height="wrap_content"android:src="@drawable/ic_launcher_email" /><TextView android:layout_width="wrap_content"android:layout_centerInParent="true"android:layout_height="wrap_content"android:text="自定义标题栏" /></RelativeLayout>Main.java[java]view plaincopyprint?1. package com.JavaTiger;2.3. import android.app.Activity;4. import android.app.AlertDialog;5. import android.content.DialogInterface;6. import android.content.Intent;7. import android.os.Bundle;8. import android.view.KeyEvent;9. import android.view.View;10. import android.view.Window;11. import android.view.View.OnClickListener;12. import android.widget.Button;13. import android.widget.TextView;14.15. public class Main extends Activity {16. @Override17. public void onCreate(Bundle savedInstanceState) {18. <span style="color:#ff00;">setTheme(R.style.CustomTheme);19. super.onCreate(savedInstanceState);20. requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);21. setContentView(yout.main);22. getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, yout.title);</span>23. tvTitle = (TextView) findViewById(R.id.Titletext);24. tvTitle.setText("标题栏返回按钮测试界面1");25.26. btnBack = (Button) findViewById(R.id.TitleBackBtn);28. btnBack.setOnClickListener(new OnClickListener() {29. public void onClick(View v) {30. KeyEvent newEvent = new KeyEvent(KeyEvent.ACTION_DOWN,31. KeyEvent.KEYCODE_BACK);32. onKeyDown(KeyEvent.KEYCODE_BACK, newEvent);33. }34. });35.36. btnNext = (Button) findViewById(R.id.Button);37.38. btnNext.setOnClickListener(new OnClickListener() {39. public void onClick(View v) {40. Intent intent = new Intent();41. intent.setClass(Main.this, Next.class);42. startActivity(intent);43. }44. });45. }46.47. @Override48. public boolean onKeyDown(int keyCode, KeyEvent event) {49. if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() ==0) {50. // 按下的如果是BACK,同时没有重复51. askForOut();52.53. return true;54. }55.56. return super.onKeyDown(keyCode, event);57. }58.59. private void askForOut() {60. AlertDialog.Builder builder = new AlertDialog.Builder(this);62. builder.setTitle("确定退出").setMessage("确定退出?").setPositiveButton("确定",63. new DialogInterface.OnClickListener() {64. @Override65. public void onClick(DialogInterface dialog, int which) {66. finish();67. }68. }).setNegativeButton("取消",69. new DialogInterface.OnClickListener() {70. @Override71. public void onClick(DialogInterface dialog, int which) {72. dialog.cancel();73. }74. }).setCancelable(false).show();75. }76.77. public TextView tvTitle;78. public Button btnBack;79. public Button btnNext;80. }1. package com.JavaTiger;2.3. import android.app.Activity;4. import android.os.Bundle;5. import android.view.KeyEvent;6. import android.view.View;7. import android.view.Window;8. import android.view.View.OnClickListener;9. import android.widget.Button;10. import android.widget.TextView;11.12. public class Next extends Activity {13. @Override14. public void onCreate(Bundle savedInstanceState) {15. setTheme(R.style.CustomTheme);16. super.onCreate(savedInstanceState);17. requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);18. setContentView(yout.next);19. getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, yout.title);20.21. tvTitle = (TextView) findViewById(R.id.Titletext);22.23. tvTitle.setText("标题栏返回按钮测试界面2");24.25. btnBack = (Button) findViewById(R.id.TitleBackBtn);26.27. btnBack.setOnClickListener(new OnClickListener() {28. public void onClick(View v) {29. KeyEvent newEvent = new KeyEvent(KeyEvent.ACTION_DOWN,30. KeyEvent.KEYCODE_BACK);31. onKeyDown(KeyEvent.KEYCODE_BACK, newEvent);32. }33. });34. }35.36. public Button btnBack;37. public TextView tvTitle;38. }1. <?xml version="1.0"encoding="utf-8"?>2. <resources>3. <style name="CustomTheme"parent="android:Theme">4. <item name="android:windowTitleSize">40dip</item>5. </style>6. </resources>1. <?xml version="1.0"encoding="utf-8"?>2. <RelativeLayout xmlns:android="/apk/res/android"3. android:layout_width="fill_parent"4. android:layout_height="fill_parent">5. <TextView6. android:id="@+id/Titletext"7. android:layout_width="wrap_content"8. android:layout_height="wrap_content"9. android:layout_alignParentLeft="true"10. android:textSize="21dp"11. android:layout_marginTop="3dp"12. android:textColor="#ffffffff"13. android:textStyle="bold"/>14. <Button15. android:id="@+id/TitleBackBtn"16. android:layout_width="wrap_content"17. android:layout_height="wrap_content"18. android:background="@drawable/back"19. android:gravity="center"20. android:layout_marginTop="9dp"21. android:layout_alignParentRight="true"/>22. </RelativeLayout>1. <?xml version="1.0"encoding="utf-8"?>2. <LinearLayout xmlns:android="/apk/res/android"3. android:orientation="vertical"4. android:layout_width="fill_parent"5. android:layout_height="fill_parent">6. <TextView7. android:layout_width="fill_parent"8. android:layout_height="wrap_content"9. android:text="@string/hello"/>10. <Button11. android:text="跳转"12. android:id="@+id/Button"13. android:layout_width="wrap_content"14. android:layout_height="wrap_content"/>15. </LinearLayout>1. <?xml version="1.0"encoding="utf-8"?>2. <LinearLayout xmlns:android="/apk/res/android"3. android:orientation="vertical"4. android:layout_width="fill_parent"5. android:layout_height="fill_parent">6. <TextView7. android:layout_width="fill_parent"8. android:layout_height="wrap_content"9. android:text="请按标题栏上的返回键返回上个界面"/>10. </LinearLayout>。