setTranslucent

本文介绍了在iOS7中如何处理透明状态栏和导航栏带来的界面布局问题,提供了setTranslucent属性的应用方法,并展示了如何调整UIScrollView的显示位置,确保内容不会与状态栏重叠。

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

在ios7中

如果setTranslucent=yes 默认的   则状态栏及导航栏底部为透明的,界面上的组件应该从屏幕顶部开始显示,因为是半透明的,可以看到,所以为了不和状态栏及导航栏重叠,第一个组件的y应该从44+20的位置算起

如果设置成no,则状态栏及导航样不为透明的,界面上的组件就是紧挨着导航栏显示了,所以就不需要让第一个组件在y方向偏离44+20的高度了

 

当然也可以 

self.navigationController.automaticallyAdjustsScrollViewInsets = NO;(可解决有导航栏情况下,scllowView的偏移问题)

 

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];状态栏字体黑色

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];状态栏字体白色

转载于:https://www.cnblogs.com/dlwj/p/4979213.html

请作为资深开发工程师,解释我给出的代码。请逐行分析我的代码并给出你对这段代码的理解。 我给出的代码是: 【[ public final void initMainContent(ContainerMap containerMap) { // スキャナ基盤の親クラスメソッド呼出しを行う super.initMainContent(containerMap); // 共通レイアウトをAPPInfra提供のレイアウトに設定 setMainContentView(R.layout.pp_activity_base); // ソフトウェアキーボードの非表示 getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); // フィードバックを有効にする useFeedback(); // オプションを非活性にする setEnableActionFlowButton(false); // アクティビティ表示用モデルを生成 fullScrModel = new PPFullScrModel(this); // 業務メニューボタン5(検索) fullScrModel.getBusinessMenu5().setEnabled(canMoveOfSearchActivity()); // 業務メニューボタン6(確認) fullScrModel.getBusinessMenu6().setEnabled(canMoveOfConfirmActivity()); // アクティビティ表示用モデルを初期化 fullScrModel = ppCreatePage(fullScrModel); // イベント:アクティビティモデル初期化後 ppCreatePageAfter(containerMap); // アクティビティレイアウトを設定 if (fullScrModel.getActivityLayoutId() != 0) { // ignore } else { // アクティビティの透過設定を取得 Resources.Theme theme = this.getTheme(); int[] attrs = new int[]{android.R.attr.windowIsTranslucent}; // pp_activity_base.xmlのN8PanelFrameLayoutが非表示にならないので強制的に透明にする // ※N8ActivityHelper.setTranslucentメソッドで使用している // layout.setBackgroundResource(android.R.color.transparent); // では透明になっていない模様... TypedArray typedArray = theme.obtainStyledAttributes(attrs); boolean isTranslucent = typedArray.getBoolean(0, false); if (isTranslucent) { View view = this.findViewById(R.id.activity_root); view.setAlpha(0); } } // イベント:アクティビティレイアウト設定後 ppCreateTabPage(containerMap); // **** ファンクションボタン初期設定 **** // ファンクションボタン1 final Button func1 = (Button) PPUICastUtil.getButton(this, R.id.pp_header_func_title_btn1); func1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { functionButton1Click(v); } }); // ファンクションボタン2 final Button func2 = (Button) PPUICastUtil.getButton(this, R.id.pp_header_func_title_btn2); func2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { functionButton2Click(v); } }); // ファンクションボタン3 final Button func3 = (Button) PPUICastUtil.getButton(this, R.id.pp_header_func_title_btn3); func3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { functionButton3Click(v); } }); if (fullScrModel.getMemoryStatus() != PPMemoryStatus.NONE) { func3.setText(getMemoryButtonCaption()); func3.setBackgroundResource(getMemoryButtonBackground()); func3.setTextColor(getMemoryButtonTextColorList()); func3.setVisibility(View.VISIBLE); func3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // メモリ状態を切り替え if (fullScrModel.getMemoryStatus() == PPMemoryStatus.ON) { fullScrModel.setMemoryStatus(PPMemoryStatus.OFF); } else { fullScrModel.setMemoryStatus(PPMemoryStatus.ON); } if (view instanceof Button) { Button self = (Button) view; // ボタンタイトル変更 self.setText(getMemoryButtonCaption()); // ボタン背景色変更 self.setBackgroundResource(getMemoryButtonBackground()); self.setTextColor(getMemoryButtonTextColorList()); // メモリボタン押下時処理 memoryButtonClick(view, getMemoryStatus()); } } }); } // MEMORY:メモリ詳細ボタン(レイアウトに存在する場合のみ) final Button memDetail = (Button) PPUICastUtil.getButton(this, R.id.pp_memory_info_detail); if (memDetail != null) { memDetail.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { memoryDetailButtonClick(v); } }); // 呼び出し元の画面名をメモリ詳細画面名にする getMemoryObject().setMemoryListTitle(fullScrModel.getCommonHeaderTitle()); } // MEMORY:メモリ全解除ボタン(レイアウトに存在する場合のみ) final Button memAllOff = (Button) PPUICastUtil.getButton(this, R.id.pp_memory_info_all_off); if (memAllOff != null) { memAllOff.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { memoryAllOffButtonClick(v); } }); } // 1件以上登録されている場合、通知アイコンを非活性に設定する if (getScrBean().getCount() > 0) { // 通知アイコン非活性 this.setEnableInnerNotificationIcon(false); this.setEnableOuterNotificationIcon(false); } }]】
最新发布
05-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值