android脚步---UI界面修改,增加按钮和监听
2023-09-14 09:00:38 时间
我的UU界面,其布局如下:
需要修改的部分:
意见反馈居中,还有增加backbutton
首先在mainactivity中找到我的UU的定义:dialogue
public void showAboutDialog() { if(mAboutDialog == null) { LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); View aboutView = inflater.inflate(R.layout.aboutuu_layout, null, false); Button backBnt = (Button)aboutView.findViewById(R.id.backbutton); backBnt.setOnClickListener(mViewClickListener); TextView versionTxt = (TextView)aboutView.findViewById(R.id.versiontext); RelativeLayout versionCheckLayout = (RelativeLayout)aboutView.findViewById(R.id.checkversion); versionCheckLayout.setOnClickListener(mViewClickListener); RelativeLayout frameCheckLayout = (RelativeLayout)aboutView.findViewById(R.id.checkframe); frameCheckLayout.setOnClickListener(mViewClickListener); // RelativeLayout focusWbLayout = (RelativeLayout)aboutView.findViewById(R.id.focusweibo); // focusWbLayout.setOnClickListener(mViewClickListener); // RelativeLayout focusWxLayout = (RelativeLayout)aboutView.findViewById(R.id.focusweixin); // focusWxLayout.setOnClickListener(mViewClickListener); RelativeLayout marketScore = (RelativeLayout)aboutView.findViewById(R.id.toscore); marketScore.setOnClickListener(mViewClickListener); RelativeLayout contactsLayout = (RelativeLayout)aboutView.findViewById(R.id.contactus); contactsLayout.setOnClickListener(mViewClickListener); RelativeLayout fansLayout = (RelativeLayout)aboutView.findViewById(R.id.introtomyfriend); fansLayout.setOnClickListener(mViewClickListener); if(isNeedAd == true) { RelativeLayout rl_ad= (RelativeLayout)aboutView.findViewById(R.id.rl_ad); banner=new DiandeBanner(this,banner_AD_ID); if(banner != null) { // rl_ad=(RelativeLayout)findViewById(R.id.rl_ad); rl_ad.addView(banner); banner.show(); } }
根据R.layout找到各个对应的xml文件
,意见反馈对应的是contactus.进入它的监听中,监听按键找到它的xml入口。
OnClickListener mViewClickListener = new OnClickListener() { @Override public void onClick(View v) { switch(v.getId()) { case R.id.checkversion: UpdateManager manager = new UpdateManager(CameraActivity.this); if (manager.isNetworkConnected()) { manager.checkUpdate(); } else { manager.showNetworkDialog(); } break; case R.id.toscore: Uri uri = Uri.parse("market://details?id="+getPackageName()); Intent intent = new Intent(Intent.ACTION_VIEW,uri); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); try { startActivity(intent); }catch(ActivityNotFoundException e) { CustomToast.showToast(CameraActivity.this, R.string.toast_appmarket_not_installed, Toast.LENGTH_SHORT); } break; case R.id.checkframe: if (mCurrentModule instanceof PhotoModule) { PhotoUI ui = ((PhotoModule) mCurrentModule).getPhotoUIInstance(); if (ui != null) { PhotoFrameUpdateManager photoFrameManager = new PhotoFrameUpdateManager(CameraActivity.this, ui); if (photoFrameManager.isNetworkConnected()) { // photoFrameManager.checkUpdate(); startActivityForResult(new Intent(CameraActivity.this, KuangDownloadActivity.class), REQ_CODE_DOWNLOAD); } else { photoFrameManager.showNetworkDialog(); } } } break; case R.id.contact_weibo: followWB(); break; case R.id.contact_weixin: showFollowWxDialog(); break; case R.id.contactus: showContactsFunc(); break; case R.id.contact_fans: showFansforumPage(); break; case R.id.introtomyfriend: Intent recIntent = new Intent(Intent.ACTION_SEND); recIntent.setType("text/plain"); recIntent.putExtra(Intent.EXTRA_TEXT, CameraActivity .this.getString(R.string.rec_app_msg)+Constants.UU_LINK_URI); startActivity(recIntent); break; case R.id.backbutton: if(mAboutDialog != null) { mAboutDialog.dismiss(); mAboutDialog = null; } break; case R.id.backbutton1: if(mFeedBackDialog != null) { mFeedBackDialog.dismiss(); mFeedBackDialog = null; } break; } } };
找到R.id.contact_weibo,点击进入xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#ffffff" > <RelativeLayout android:id="@+id/title" android:layout_height="@dimen/about_title_height" android:layout_width="match_parent" android:background="@color/aboutuu_title" > <TextView android:id="@+id/title_text" android:layout_width="match_parent" android:layout_height="@dimen/about_title_height" android:gravity="center" android:text="@string/contact_us" android:textColor="#ffffff" android:textSize="@dimen/about_title_text_size" android:background="@color/aboutuu_title" android:paddingLeft="@dimen/about_title_btn_margin_left"/> <Button android:id="@+id/backbutton1" android:layout_width="@dimen/about_title_height" android:layout_height="@dimen/about_title_height" android:layout_centerVertical="true" android:layout_marginLeft="@dimen/about_title_btn_margin_left" android:background="@drawable/about_back" /> </RelativeLayout>
将其 android:gravity="center"变成居中,还有增加Button,因为增加Button后提示android:layout_centerVertical="true"应用于相对布局,所以将线性布局改成相对布局。布局文件修改iwanbi后在JAVA文件中增加监听:
if(mFeedBackDialog == null) { LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); View fbView = inflater.inflate(R.layout.feedback_layout, null, false); Button backBn = (Button)fbView.findViewById(R.id.backbutton1); backBn.setOnClickListener(mViewClickListener);
利用inflater引入布局文件,定义按钮,引用公共监听类,公共监听类中增加按钮backbutton1.
相关文章
- 聚焦 Android 11: 大功告成
- android移动点餐系统内容和要求,基于Android云计算的移动点餐系统
- strictmode android,Android 应用性能优化-StrictMode(严格模式)
- android 读取本地数据库db文件(Android sqlite)
- android sdk根目录,Android SDK位置
- android-短信验证功能,Android实现获取短信验证码的功能以及自定义GUI短信验证详解…
- android telephony 原理解析与开发指南_Android逆向pdf
- React Native android 常见错误和解决方法
- Android Looper,Handler,Message,MessageQueue介绍
- Android 数据库加密 android-database-sqlcipher 开源版本编译过程
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 一 )
- 【Android RenderScript】RenderScript 简介 ③ ( RenderScript 发布和运行 | RenderScript 脚本 )
- 【Android Gradle 插件】SigningConfig 签名配置 ① ( SigningConfig 签名配置位置 | storeFile 配置 | storePassword 配置 )
- 【Android UI】Paint Gradient 渐变渲染 ① ( LinearGradient 线性渐变渲染 | 设置渲染方向 | 设置渲染颜色 | 设置渲染模式 | MIRROR )
- 解析linux或android添加文件系统的属性接口的方法
- Android桌面小部件AppWidget(1)详解手机开发
- Android 12发布:采用全新设计语言 引入个性化体验
- UC浏览器v10.2.0.535下载|UC Android浏览器 去广告版
- 三星为Galaxy S21系列带来One UI 4:基于Android 12
- Connecting Android to Oracle: The Ultimate Guide for Seamless Integration.(android连接oracle)
- Android发现新病毒,每天1.3万部安卓手机和100万个账号被控制
- android横竖屏切换不重启activity解决方案
- Android使用SQLite数据库的简单实例
- android使用多线程更新ui示例分享
- android开发教程之handler异步更新ui