android 遇到的小问题解决集合

本文详细介绍了在Android应用开发过程中遇到的问题解决方案,包括软键按键遮挡界面的调整、系统通知栏颜色修改、adb.exe被占用端口解决、双滑动控件冲突、Fragment布局显示不全、Spinner自定义内容、隐藏标题栏等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 华为等手机的软键按键挡住界面的问题

    在每个布局文件中加入   android:fitsSystemWindows="true"

2.将系统的通知栏的颜色修改成应用的颜色

//设置系统标题颜色
	public static void initSystemBar(Activity activity,int color) {
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
			setTranslucentStatus(activity, true);
		}
		SystemBarTintManager tintManager = new SystemBarTintManager(activity);
		tintManager.setStatusBarTintEnabled(true);
		// 使用颜色资源
		tintManager.setStatusBarTintResource(color);
	}

其中的  SystemBarTintManager  类在地址    http://download.youkuaiyun.com/detail/shuang__zi/9399388


3.遇到adb.exe被占用的时候

 是因为有程序占用了5037端口。解决反复如下:
1.在cmd里面运行下netstat -aon|findstr "5037",找到占用端口号的进程id x
2.在cmd里面运行tasklist|findstr "x" 找到进程名称y.exe
3.去任务管理器重视找到y.exe并结束进程
然后应该就ok了 

4.双滑动控件的冲突解决

final ScrollView mSvBase = (ScrollView) findViewById(R.id.sv_base);
        ScrollView mSvNeedKnow = (ScrollView) findViewById(R.id.sv_needKnow);
        mSvNeedKnow.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_UP)
                    mSvBase.requestDisallowInterceptTouchEvent(false);
                else
                    mSvBase.requestDisallowInterceptTouchEvent(true);

                return false;
            }
        });

5.activity 中切换fragment时候,布局有时显示不全

解决方法:在activity的最外层 中添加 

android:fitsSystemWindows="true"

6.spinner 自定义其中的内容

//显示的数据
mCompanyTypeList=getActivity().getResources().getStringArray(R.array.company_type);
//R.layout.spinner_item 是还未点击时显示的布局
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), R.layout.spinner_item, mCompanyTypeList){
    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        //R.layout_spinner_dropdown  是下拉布局
        View view = LayoutInflater.from(getContext()).inflate(R.layout.spinner_dropdown_item,null);
        TextView mTvText = (TextView) view.findViewById(R.id.tv_text);
        mTvText.setText(mCompanyTypeList[position]);
        if(position==mCompanyTypeList.length){
            view.findViewById(R.id.tv_line).setVisibility(View.GONE);
        }
        return view;
    }
};
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);

7.隐藏标题栏

当activity不是继承appcompatactivity的时候使用

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

当activity继承了appcompatActivity的时候使用

getSupportActionBar().hide();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值