1.xml布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ptas_operation_bottom_bar" android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="0.6600001dip" android:paddingRight="0.6600001dip">
<RadioGroup android:id="@+id/main_radio" style="@style/Ptas_Tab_Radio_Group_Bg" android:layout_gravity="bottom">
<RadioButton android:id="@+id/radio_navigation" style="@style/Ptas_Tab_Bottom" android:layout_marginTop="2.0dip" android:text="文字一" />
<RadioButton android:id="@+id/radio_vary" style="@style/Ptas_Tab_Bottom" android:layout_marginTop="2.0dip" android:text="文字一" />
<RadioButton android:id="@+id/radio_doing" style="@style/Ptas_Tab_Bottom" android:layout_marginTop="2.0dip" android:text="文字一" />
<RelativeLayout android:id="@+id/notice_re" style="@style/Ptas_Tab_Bottom_Notice">
<RadioButton android:id="@+id/radio_notice" style="@style/Ptas_Tab_Bottom" android:layout_centerInParent="true" android:layout_marginTop="2.0dip" android:text="文字一" />
<TextView android:id="@+id/notice_count_text" android:layout_width="28dip" android:layout_height="28dip" android:layout_alignParentRight="true" android:layout_alignParentTop="true"
android:background="@drawable/notice_count" android:gravity="center" android:text="0" android:textSize="13dip" android:textStyle="bold" />
</RelativeLayout>
<RadioButton android:id="@+id/radio_setting" style="@style/Ptas_Tab_Bottom" android:layout_marginTop="2.0dip" android:text="文字一" />
</RadioGroup>
</LinearLayout>
2.代码控制切换GroupRadio
private void mainBtnGroupOnclick() {
mainBtnGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (navigaionBtn.getId() == checkedId) {
tabHost.setCurrentTab(1);
} else if (varyBtn.getId() == checkedId) {
tabHost.setCurrentTab(2);
} else if (doingBtn.getId() == checkedId) {
tabHost.setCurrentTab(3);
} else if (settingBtn.getId() == checkedId) {
tabHost.setCurrentTab(5);
}
if (checkedId != noticeBtn.getId()) {
noticeBtn.setChecked(false);
noticeBtn.setFocusableInTouchMode(false);
}
}
});
navigaionBtn.setOnClickListener(this);
varyBtn.setOnClickListener(this);
doingBtn.setOnClickListener(this);
noticeBtn.setOnClickListener(this);
settingBtn.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view.getId() == noticeBtn.getId()) {
noticeBtn.setBackgroundResource(R.drawable.home_btn_bg_d);
navigaionBtn.setChecked(false);
doingBtn.setChecked(false);
varyBtn.setChecked(false);
settingBtn.setChecked(false);
settingBtn.setFocusableInTouchMode(false);
varyBtn.setFocusableInTouchMode(false);
doingBtn.setFocusableInTouchMode(false);
navigaionBtn.setFocusableInTouchMode(false);
tabHost.setCurrentTab(4);
} else {
noticeBtn.setBackgroundColor(android.R.color.transparent);
}
}
3.更新数字
Handler myHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case Main.NOTICE_COUNTER_MESSAGE_WHAT:
int counter = msg.getData().getInt("counter", 0);
if (counter == 0) {
noticeCountText.setVisibility(View.GONE);
} else {
noticeCountText.setText("" + counter);
noticeCountText.setVisibility(View.VISIBLE);
}
break;
}
super.handleMessage(msg);
}
};
private void updateNoticeCounter() {
new Thread(new Runnable() {
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) {
Message message = new Message();
message.what = Main.NOTICE_COUNTER_MESSAGE_WHAT;
Bundle data = new Bundle();
data.putInt("counter", NoticeHolder.getNoticeInfos().size());
message.setData(data);
myHandler.sendMessage(message);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
}
}).start();
}
- 大小: 4.9 KB
分享到:
相关推荐
综上所述,要在Android上实现类似iPhone的badge未读消息提示,需要结合Android的通知系统、自定义Launcher、第三方库以及良好的兼容性和性能优化策略。通过这种方式,可以为用户提供类似iOS的体验,提高应用的易用性...
本文将详细讲解如何在Android中实现"仿iPhone底部弹出菜单"。 1. **自定义布局设计** - 首先,创建一个包含多个菜单项的布局文件。每个菜单项通常是一个`LinearLayout`或`CardView`,包含一个图标和一个文字描述。...
在Android开发中,实现一个类似iPhone的时间选择器可以极大地提升用户体验。这个功能允许用户通过直观的界面来选择特定的时间,通常包括小时和分钟。在iPhone上,这种选择器以一个可滚动的圆环形式呈现,而在Android...
本文将深入探讨如何使用TabHost构建一个类似于iPhone底部菜单的UI,并通过实际项目`myTabTest`来展示其实现过程。 首先,我们要理解TabHost的基本结构。TabHost通常由两个主要部分组成:TabWidget和FrameLayout。...
在Android开发中,有时我们需要创建一个与iPhone滚桶控件(Picker)类似的用户界面元素,以便用户能够方便地从一系列选项中进行选择。这个控件通常用于日期选择、时间选择或者是一系列数值的选择,提供了良好的交互...
在Android平台上,实现类似iPhone的AssistiveTouch功能,可以为用户提供便捷的触控操作,类似于浮动菜单,方便用户快速访问常用功能。这个功能通常包括屏幕截图、返回、主页、多任务等操作,而且可以自定义设置。在...
在Android开发中,为了实现类似iOS中的UITableView效果,开发者经常会选择自定义视图来达到目的。本话题将深入探讨如何仿造iPhone中的dTableView接口,创建一个名为TableGroupView的Android组件,以此来实现分组表格...
在Android开发中,有时我们需要实现类似iPhone的PickerView效果,为用户提供一种选择数据的交互方式。PickerView通常用于实现选项滚动选择,例如日期选择、时间选择或者简单的列表选择。在这个场景下,我们可以...
在Android中,可以通过`ObjectAnimator`或`ValueAnimator`实现类似效果。创建动画并在显示和隐藏对话框时启动它们。 6. **处理按钮点击事件** 通过`AlertDialog.Builder`的`setPositiveButtonClickListener()`和`...
在Android平台上实现类似iPhone的界面是一项技术挑战,但并非不可能。Android系统以其高度的可定制性和开放性,允许开发者通过自定义View来创造出各种各样的界面风格,包括模仿iPhone的UI设计。以下是一些关键的知识...
1.实现类似于ios的dialog.iphone的Dialog 2.可以传递参数 IosDialog iosDialog = new IosDialog(MainActivity.this); ArrayList<SheetItem> listSheetItems;
在Android手机上实现类似iPhone QQ在线的状态,主要是通过模拟iPhone QQ的头像和状态信息来达到视觉上的相似效果。以下是一步步详细的操作步骤: 1. **获取iPhone QQ图标**:首先,你需要找到一个iPhone QQ的图标,...
在Android开发中,为了提供与iOS相似的用户体验,有时我们需要实现类似于iPhone的PickerView组件,即大滚轮效果。这个效果通常用于让用户在一组预定义的选项中进行选择,如日期选择、时间选择或者简单的列表选择。...
在Android应用开发中,创建一个类似iOS QQ底部导航栏的效果是一项常见的需求,它能提供良好的用户体验,让用户在多个页面间轻松切换。这个项目名为"HelloWordFeng-BottomMenu-8972e35",它实现了这样一个功能,并...
5. **自定义主题**:如果你的应用支持Android 5.0(Lollipop)及以上版本,可以使用AppCompat库中的`AlertDialog`配合自定义主题来实现类似iOS的外观。在`styles.xml`文件中定义一个主题,然后在创建`Builder`时应用...
在Android开发中,为了使应用界面更接近iOS的风格或者增加独特的用户体验,有时我们需要实现类似iPhone的圆角ListView以及点击效果。本篇文章将详细讲解如何在Android中复现这一功能。 首先,我们要创建一个带有...
在Android平台上实现类似iPhone的滑动解锁功能,可以为用户提供熟悉的交互体验,增强应用的用户友好性。这个过程涉及到Android的触摸事件处理、图形绘制以及动画设计等多个技术领域。下面将详细阐述如何在Android中...
"android实现iphone风格的picker"这个主题正是关注如何在Android平台上构建一个类似iPhone中的Picker View,即一个可滚动的选择器,通常用于让用户在一系列预设选项中进行选择,如日期、时间或者特定的值列表。...
在Android开发中,为了提供与iOS相似的用户体验,开发者经常需要在Android应用中实现类似iPhone样式的对话框(AlertDialog)。这个“Android高级应用源码-Android中实现Iphone样式的AlertDialog.zip”压缩包包含了...
本文将深入探讨如何在Android中实现类似iPhone的气泡消息样式,包括气泡的形状、颜色、方向以及动画效果。 首先,我们需要理解气泡消息的基本构成。在iOS中,气泡通常用于显示对话或通知,它包含一个背景色(通常是...