首页 > 代码库 > android脚步---UI界面修改,增加按钮和监听

android脚步---UI界面修改,增加按钮和监听

我的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脚步---UI界面修改,增加按钮和监听