当前位置: 首页 > news >正文

电子商务网站设计岗位的技能要求/广州软文推广公司

电子商务网站设计岗位的技能要求,广州软文推广公司,嵌入式软件开发工程师培训,wordpress的文章多重筛选android在阅读本文之前,请学习上述前提条件,以便您可以更好地实现此解决方案,我将在此处进行讨论。 您确切知道什么是Dashboard模式吗?简而言之,我们可以说Dashboard是一个页面,其中包含主要功能的大而清晰…
android

android

在阅读本文之前,请学习上述前提条件,以便您可以更好地实现此解决方案,我将在此处进行讨论。 您确切知道什么是Dashboard模式吗?

简而言之,我们可以说Dashboard是一个页面,其中包含主要功能的大而清晰的符号以及可选的相关新信息区域。

浏览以下文章:

1. UI设计模式–仪表板(摘自Juhani Lehtimaki)2. Android UI设计模式

本文的主要议程是实现与以下相同的Dashboard设计模式:

步骤1:创建标题栏布局

是的,我们仅定义一次标题栏(标题)布局,但在每个屏幕中都需要。 我们将仅在需要时显示/隐藏主页按钮和其他按钮。 定义标题栏布局后,我们可以使用ViewStub在其他布局中使用相同的布局。

这是标题栏(标题)xml布局的示例:header.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@color/title_background" ><LinearLayoutandroid:id="@+id/panelIconLeft"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:layout_margin="5dp" ><Buttonandroid:id="@+id/btnHome"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/ic_home"android:onClick="btnHomeClick" /></LinearLayout><TextViewandroid:id="@+id/txtHeading"style="@style/heading_text"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_centerInParent="true"android:layout_marginLeft="5dp"android:layout_marginRight="5dp"android:layout_toLeftOf="@+id/panelIconRight"android:layout_toRightOf="@id/panelIconLeft"android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"android:gravity="center"android:marqueeRepeatLimit="marquee_forever"android:singleLine="true"android:text=""android:textColor="@android:color/white" /><LinearLayoutandroid:id="@+id/panelIconRight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:layout_margin="5dp" ><Buttonandroid:id="@+id/btnFeedback"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/ic_feedback"android:onClick="btnFeedbackClick" /></LinearLayout></RelativeLayout>

在上面的布局代码中,我引用了styles.xml中的样式和dimen.xml中的尺寸:

styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="heading_text"><item name="android:textColor">#ff000000</item><item name="android:textStyle">bold</item><item name="android:textSize">16sp</item><item name="android:padding">5dp</item></style>
<style name="HomeButton"><item name="android:layout_gravity">center_vertical</item><item name="android:layout_width">fill_parent</item><item name="android:layout_height">wrap_content</item><item name="android:layout_weight">1</item><item name="android:gravity">center_horizontal</item><item name="android:textSize">@dimen/text_size_medium</item><item name="android:textStyle">normal</item><item name="android:textColor">@color/foreground1</item><item name="android:background">@null</item></style></resources>

dimen.xml

<?xml version="1.0" encoding="utf-8"?>
<resources><dimen name="title_height">45dip</dimen><dimen name="text_size_small">14sp</dimen><dimen name="text_size_medium">18sp</dimen><dimen name="text_size_large">22sp</dimen>
</resources>

步骤2:创建超级(抽象)类

实际上,在这个抽象超类中,我们将定义:1)两个按钮的事件处理程序:主页和反馈2)其他方法

“主页”和“反馈”按钮几乎在每个活动中都将可见,并且需要执行相同的操作(即,将用户带到主页活动),因此,我们不必在每个活动中编写一次事件处理程序,而不必在每个活动中编写相同的代码抽象类,它将成为每个活动的超类。

您可能已经在上述header.xml布局中注意到:android:onClick =” btnHomeClick”(主页按钮)和android:onClick =” btnFeedbackClick”(反馈按钮),所以我们将仅在超类(抽象)中定义一次此方法。

如果您不知道它,请参考ViewStub示例。

现在,这里是Abstract(超级)类的代码,我将其称为DashboardActivity.java

package com.technotalkative.viewstubdemo;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewStub;
import android.widget.Button;
import android.widget.TextView;public abstract class DashBoardActivity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}public void setHeader(String title, boolean btnHomeVisible, boolean btnFeedbackVisible){ViewStub stub = (ViewStub) findViewById(R.id.vsHeader);View inflated = stub.inflate();TextView txtTitle = (TextView) inflated.findViewById(R.id.txtHeading);txtTitle.setText(title);Button btnHome = (Button) inflated.findViewById(R.id.btnHome);if(!btnHomeVisible)btnHome.setVisibility(View.INVISIBLE);Button btnFeedback = (Button) inflated.findViewById(R.id.btnFeedback);if(!btnFeedbackVisible)btnFeedback.setVisibility(View.INVISIBLE);}/*** Home button click handler* @param v*/public void btnHomeClick(View v){Intent intent = new Intent(getApplicationContext(), HomeActivity.class);intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(intent);}/*** Feedback button click handler* @param v*/public void btnFeedbackClick(View v){Intent intent = new Intent(getApplicationContext(), FeedbackActivity.class);startActivity(intent);}
}

步骤3:定义仪表板布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><ViewStubandroid:id="@+id/vsHeader"android:layout_width="fill_parent"android:layout_height="wrap_content"android:inflatedId="@+id/header"android:layout="@layout/header" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="1"android:orientation="vertical"android:padding="6dip" ><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="1"android:orientation="horizontal" ><Buttonandroid:id="@+id/main_btn_eclair"style="@style/HomeButton"android:drawableTop="@drawable/android_eclair_logo"android:onClick="onButtonClicker"android:text="@string/EclairActivityTitle" /><Buttonandroid:id="@+id/main_btn_froyo"style="@style/HomeButton"android:drawableTop="@drawable/android__logo_froyo"android:onClick="onButtonClicker"android:text="@string/FroyoActivityTitle" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="1"android:orientation="horizontal" ><Buttonandroid:id="@+id/main_btn_gingerbread"style="@style/HomeButton"android:drawableTop="@drawable/android_gingerbread_logo"android:onClick="onButtonClicker"android:text="@string/GingerbreadActivityTitle" /><Buttonandroid:id="@+id/main_btn_honeycomb"style="@style/HomeButton"android:drawableTop="@drawable/android_honeycomb_logo"android:onClick="onButtonClicker"android:text="@string/HoneycombActivityTitle" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="1"android:orientation="horizontal" ><Buttonandroid:id="@+id/main_btn_ics"style="@style/HomeButton"android:drawableTop="@drawable/android_ics_logo"android:onClick="onButtonClicker"android:text="@string/ICSActivityTitle" /><Buttonandroid:id="@+id/main_btn_jellybean"style="@style/HomeButton"android:drawableTop="@drawable/android_jellybean_logo"android:onClick="onButtonClicker"android:text="@string/JellyBeanActivityTitle" /></LinearLayout></LinearLayout>
</LinearLayout>

步骤4:定义用于处理此仪表板布局按钮单击事件的活动。

在此活动中,您会发现使用setHeader()方法来设置主页活动的标题,是的,在此方法中,我已经为主页按钮传递了“ false”,因为它已经是主页活动,但是我已经为传递了“ true”反馈按钮,因为需要使反馈可见。 其他过程与定义按钮单击处理程序相同。

package com.technotalkative.viewstubdemo;import android.content.Intent;
import android.os.Bundle;
import android.view.View;public class HomeActivity extends DashBoardActivity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);setHeader(getString(R.string.HomeActivityTitle), false, true);}/*** Button click handler on Main activity* @param v*/public void onButtonClicker(View v){Intent intent;switch (v.getId()) {case R.id.main_btn_eclair:intent = new Intent(this, Activity_Eclair.class);startActivity(intent);break;case R.id.main_btn_froyo:intent = new Intent(this, Activity_Froyo.class);startActivity(intent);break;case R.id.main_btn_gingerbread:intent = new Intent(this, Activity_Gingerbread.class);startActivity(intent);break;case R.id.main_btn_honeycomb:intent = new Intent(this, Activity_Honeycomb.class);startActivity(intent);break;case R.id.main_btn_ics:intent = new Intent(this, Activity_ICS.class);startActivity(intent);break;case R.id.main_btn_jellybean:intent = new Intent(this, Activity_JellyBean.class);startActivity(intent);break;default:break;}}
}

步骤5:定义其他活动及其UI布局

现在,是时候根据仪表板上的特定按钮单击来定义我们要显示的活动了。 因此,定义每个活动及其布局。 不要忘记在必要时调用setHeader()方法。

这是此类活动的一个示例– Activity_Eclair.java

package com.technotalkative.viewstubdemo;import android.os.Bundle;public class Activity_Eclair extends DashBoardActivity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_eclair);setHeader(getString(R.string.EclairActivityTitle), true, true);}
}

activity_eclair.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><ViewStubandroid:id="@+id/vsHeader"android:layout_width="fill_parent"android:layout_height="wrap_content"android:inflatedId="@+id/header"android:layout="@layout/header" /><TextViewandroid:id="@+id/textView1"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="@string/EclairActivityTitle" /></LinearLayout>

步骤6:在AnroidManifest.xml文件中声明活动

现在你完成了

:)

输出:

主画面_风景
内屏
内屏

您可以从此处下载源代码: Android –仪表板模式实现

随时欢迎反馈/评论

:)

参考: Android –我们的JCG合作伙伴Paresh N. Mayani在TechnoTalkative博客上实现了仪表板设计模式。

翻译自: https://www.javacodegeeks.com/2012/06/android-dashboard-design-pattern.html

android

http://www.lbrq.cn/news/1302481.html

相关文章:

  • 做淘宝推广开网站合适/网站排名搜索
  • 把插钉机子拍下怎么做网站/重庆百度推广优化
  • 最好用的虚拟主机WordPress/重庆seo海洋qq
  • 深圳搜豹网站建设公司/品牌营销咨询公司
  • 首都航空公司官方网站/搜索大全引擎入口
  • 做网站建设的方案/百度在全国有哪些代理商
  • 阿里云手机做网站/外贸网络营销推广
  • 专门做儿童的店铺网站/网络营销实践总结报告
  • 赤峰网站开发公司/企业建站公司热线电话
  • 如果网站曾被挂木马/新乡seo优化
  • 上海自助建站费用/wordpress
  • 绵阳网站搜索优化/seo在线优化工具 si
  • 广东省住房和城乡建设厅网站 粤建网/线上推广如何引流
  • axure中继器做网站/seo关键词快速排名前三位
  • 重庆铜梁网站建设/护肤品营销策划方案
  • 做网站的成本是什么/怎样宣传自己的品牌
  • 站长统计芭乐官方网站下载/软文网站有哪些
  • 能看人与动物做的网站/结构优化设计
  • 淄博网站建设电话咨询/国外免费源码共享网站
  • wordpress add filter/seo怎么收费
  • 荣泰建设集团网站/重庆今日头条新闻消息
  • 桥南做网站/网络关键词排名软件
  • 网站想更换服务器怎么做/宣传推广的形式有哪些
  • 强大的wordpress主题/武汉久都seo
  • 本地网站建设官网/百度首页登录入口
  • 传奇手游排行榜2021前十名/seo优化一般包括哪些
  • 网络网站建设价格/760关键词排名查询
  • 陕西建设网综合综合服务中心/搜索引擎优化的主要手段
  • 亚购物车功能网站怎么做的/济南谷歌推广
  • 马云的网站怎么做的/个人网站网页首页
  • 6-大语言模型—预训练:数据处理
  • Flutter基础(前端教程①③-单例)
  • [MarkdownGithub] 使用块引用高亮显示“注意“和“警告“和其他注意方式的选项
  • 71 模块编程之新增一个字符设备
  • 分表聚合助手类
  • 初探:C语言FILE结构之文件描述符与缓冲区的实现原理