我们在开发软件的时候,都会填一个功能就是设置,查看很多软件大多数都是圆角形式,最近在帮一个客户做直播客户端也要添加一个设置界面,因此分享一下制作过程先看一下效果图(上面还包含一个头,但是里面含有客户信息,就给去掉了)

效果图就如上面的,其实也就是LinearLayout加上圆角,每一行用RelativeLayout布局,由于还要点击的时候改变背景颜色,所以我同时实现了OnClickListener和OnTouchListener,其中OnClickListener来实现功能,OnTouchListener来实现变色。先看代码吧。

布局文件:

由于设置界面只是一部分,我并不是使用的Activity而是使用的Fragment

public class Setting_Page extends Fragment implements OnClickListener, OnTouchListener{

private View settingView;

private TextView shareSoft, clearCache, feedback, contack_me, qulity_apps;

private RelativeLayout shaeSoftLayout, clearCacheLayout, feedbackLayout, contack_meLayout, qulity_appsLayout;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

settingView = inflater.inflate(R.layout.setting_page, null);

settingView.findViewById(R.id.home_top_bg).setBackgroundResource(

R.drawable.setting_logo);

return settingView;

}

@Override

public void onActivityCreated(Bundle savedInstanceState) {

super.onActivityCreated(savedInstanceState);

shareSoft = (TextView)settingView.findViewById(R.id.share_tssv);

shaeSoftLayout = (RelativeLayout)settingView.findViewById(R.id.share_tssv_p);

shareSoft.setOnClickListener(this);

shareSoft.setOnTouchListener(this);

clearCache = (TextView)settingView.findViewById(R.id.clear_cache);

clearCacheLayout = (RelativeLayout)settingView.findViewById(R.id.clear_cache_p);

clearCache.setOnClickListener(this);

clearCache.setOnTouchListener(this);

feedback = (TextView)settingView.findViewById(R.id.soft_feedback);

feedbackLayout = (RelativeLayout)settingView.findViewById(R.id.soft_feedback_p);

feedback.setOnClickListener(this);

feedback.setOnTouchListener(this);

contack_me = (TextView)settingView.findViewById(R.id.contack_me);

contack_meLayout = (RelativeLayout)settingView.findViewById(R.id.contack_me_p);

contack_me.setOnClickListener(this);

contack_me.setOnTouchListener(this);

qulity_apps = (TextView)settingView.findViewById(R.id.quality_application);

qulity_appsLayout = (RelativeLayout)settingView.findViewById(R.id.quality_application_p);

qulity_apps.setOnClickListener(this);

qulity_apps.setOnTouchListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.share_tssv:

ShareTSSV();

break;

case R.id.clear_cache:

AppLog.e("clear_cache");

break;

case R.id.soft_feedback:

AppLog.e("soft_feedback");

break;

case R.id.contack_me:

AppLog.e("contack_me");

break;

case R.id.quality_application:

AppLog.e("quality_application");

break;

}

}

public void ShareTSSV(){

Intent shareIntent = new Intent(Intent.ACTION_SEND);

shareIntent.setType("text/plain");

shareIntent.putExtra(Intent.EXTRA_SUBJECT, R.string.share_subject);

shareIntent.putExtra(Intent.EXTRA_TEXT, R.string.share_text);

shareIntent.putExtra(Intent.EXTRA_TITLE, R.string.share_title);

shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.share_select)));

}

@Override

public boolean onTouch(View v, MotionEvent event) {

switch (v.getId()) {

case R.id.share_tssv:

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

shaeSoftLayout.setBackgroundResource(R.drawable.press_up_concor);

break;

case MotionEvent.ACTION_UP:

shaeSoftLayout.setBackgroundResource(R.drawable.nor_up_concor);

break;

}

break;

case R.id.clear_cache:

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

clearCacheLayout.setBackgroundColor(getResources().getColor(R.color.papayawhip));

break;

case MotionEvent.ACTION_UP:

clearCacheLayout.setBackgroundColor(getResources().getColor(R.color.turnk));

break;

}

break;

case R.id.soft_feedback:

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

feedbackLayout.setBackgroundColor(getResources().getColor(R.color.papayawhip));

break;

case MotionEvent.ACTION_UP:

feedbackLayout.setBackgroundColor(getResources().getColor(R.color.turnk));

break;

}

break;

case R.id.contack_me:

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

contack_meLayout.setBackgroundResource(R.drawable.press_down_concor);

break;

case MotionEvent.ACTION_UP:

contack_meLayout.setBackgroundResource(R.drawable.nor_down_concor);

break;

}

break;

case R.id.quality_application:

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

qulity_appsLayout.setBackgroundResource(R.drawable.press_concor);

break;

case MotionEvent.ACTION_UP:

qulity_appsLayout.setBackgroundResource(R.drawable.nor_concor);

break;

}

break;

}

return false;

}

}

其中里面涉及到的资源布局如下:

nor_concor.xml

press_concor.xml

nor_up_concor.xml

press_up_concor.xml

nor_down_concor.xml

press_down_concor.xml

android客户端设置,android客户端设置界面开发实例相关推荐

  1. android 密码解锁程序,android 仿ios数字密码解锁界面的实例

    如下所示: 每个Android开发人员都知道,现在android的解锁最常用的就是九宫格解锁,ios的解锁常用的是数字密码解锁.而我们在开发工程中,很多时候,都需要android和ios进行结合.有的 ...

  2. python简单编程例子-中文方便就用中文编程!Python图形界面开发实例

    原标题:中文方便就用中文编程!Python图形界面开发实例 之前做的一个Python小程序,功能很简单,面对用户群也很窄,是五笔编码编.校人员使用的五笔编码编辑器. 这样的"周末" ...

  3. Android学习总结————Java程序设计技巧与开发实例(朱福喜)

    第一部分   记于2013年7月21 1.安卓开发环境的安装 (1)设置相关环境变量 a.JAVA_HOME        D:\Java\jdk1.6.0_29 b.PATH          %J ...

  4. python可视化界面开发实例-python界面编程,python可视化窗口编程

    看了你的问题,几个回答似乎都不完全对.给你补充一下吧. 你的问题与flask基本上没有关系.flask是一个简单的微型编程框架,很优美,也很简单好用.不过它仅仅实现了基于HTTP协议的服务端交互部分. ...

  5. Android开发实例大全

    <Android开发实例大全> 基本信息 作者: 王东华 丛书名: Android移动开发技术丛书 出版社:电子工业出版社 ISBN:9787121173172 上架时间:2012-8-1 ...

  6. 小米设置Android版本点击,向日葵Android客户端保持在线设置(小米手机篇)

    前言:部分用户在通过向日葵远控安卓客户端时,遇到连接失败提示客户端不在线的问题.下面就由小编来给大家讲解下,华为手机如何设置向日葵客户端保持在线. 准备: 演示设备:小米手机4 系统版本:MIUI 1 ...

  7. kds官方android客户端,电子厨打设置(KDS/ADS)

    KDS应用场景 KDS和ADS设置 使用方案:厨房模式(KDS) 配菜模式(ADS) 呼叫广告模式(TV)电子菜牌模式 KDS(kitchen display system) ADS(assign d ...

  8. 华为手机连按3次Android版本,向日葵Android客户端保持在线设置(华为手机安卓6.0篇)...

    前言: 部分用户在通过向日葵远控安卓客户端时,遇到连接失败提示客户端不在线的问题.下面就由小编来给大家讲解下,华为手机如何设置向日葵客户端保持在线. 准备: 演示设备:华为Mate7 系统版本:EMU ...

  9. android 网易新闻 登录界面,Android实现网易新闻客户端首页效果

    关于实现网易新闻客户端的界面,以前写过很多博客,请参考: 今天用ViewPager + FragmentAdapter + ViewPagerIndicator来实现. ViewPagerIndica ...

最新文章

  1. 关于Linux前后台程序切换
  2. selenium WebDriverException: Message: unknown error: DevToolsActivePort file doesnt exist
  3. ado.net操作数据库常用方法集锦
  4. innodb参数汇总
  5. 计算矩阵连乘积(动态规划)
  6. union all会影响性能吗_Java 中的 try catch 影响性能吗?
  7. 写的很好!细数 Java 线程池的原理
  8. sellhis股票平面图
  9. 光纤收发器的原理及应用_基于砷化镓传感器的光纤测温原理及其在地铁中的应用...
  10. 设计一个通用的Http Rest Client包装器
  11. asp.net:验证控件中ValidationExpression的写法
  12. java txt 修改_java创建TXT文件并进行读、写、修改操作
  13. 传统的jsp+servlet的经典的MVC开发模式详细步骤,框架的知识点转换,各模块的以及各配置的作用,学习框架必备知识,框架基础技术JDBC(一)
  14. Java中VO/DTO/DO/PO/POJO/BO/DAO概念及其区别
  15. 华为交换机S3700基本配置
  16. android带人脸识别码,Android自带的人脸识别
  17. 利用python进行数据分析(4)
  18. 【渝粤教育】广东开放大学 管理会计 形成性考核 (33)
  19. 基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现
  20. 数据库的ACID(原子性、一致性、隔离性与持久性)

热门文章

  1. 【Vue】—动态组件
  2. CCF CSP202112-2 序列查询新解
  3. 键盘上在方向键上面的9个键是干什么的?
  4. 请律师到底有什么用?
  5. 如果孩子早恋是支持还是反对?
  6. 上有天最高,自然较为小
  7. 好想找一个灵魂伴侣,然后带着他一起周游世界,会实现吗?
  8. 个个都在比赚钱,有没比不赚钱的
  9. 了解普通人的心理,在销售中非常重要
  10. 罗永浩的公司被收购,还清债务指日可待