當前位置:首頁 » 安卓系統 » android多個頁面

android多個頁面

發布時間: 2022-08-08 12:28:19

⑴ android 項目多套頁面布局

.

java">onCreate(){
if(條件){
setContenView(R.layout.a)
}else{
setContenView(R.layout.b)
}
}

.如果是解析度或者手機和平板的話,會有不同的drawable或者layout文件夾可以使用,會自動適配相關命名的文件夾內的文件,這方面可以了解下

⑵ android studio 怎麼創建多個頁面

首先創建一個Test項目工程,選擇默認版式,選擇好自己喜歡的主題(Theme)。

在文件管理器中找到layout下的xml文件,並將其復制粘貼一份到layout目錄下,命名為second_activity.xml。

接下來在.java文件處新建一個java class,命名為SecondActivity。

此時可以看到文件目錄中多出來一個xml文件和一個java類文件。

打開AndroidManifest.xml文件,添加一個<activity></activity>標簽,添加內容如下:
<activity
android:name=".SecondActivity"
android:label="Second Activity">
<intent-filter>
<action android:name="com.litreily.SecondActivity"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>

修改SecondActivity.xml:
<TextView
android:text="The Second Activity!"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

修改SecondActivity.java文件:
public class SecondActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.SecondActivity);
}
}

修改主界面的activity_my.xml文件,添加一個按鈕,用於跳轉Activity:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="轉到下一個界面"
android:onClick="onClick"/>

在主界面的java類中實現按鈕的點擊事件響應函數onClick,通過startActivity函數打開新的Activity.
public void onClick(View view)
{
startActivity(new Intent("com.litreily.SecondActivity"));
}

設置採用模擬器打開App,並啟動調試打開模擬器。
步驟閱讀
在模擬器中運行程序,點擊按鈕可以切換Activity,在第二個界面點擊返回鍵可以返回主界面。

⑶ android中一個頁面如何同時傳值到多個頁面

1、最簡單的方法,設置一個public static變數,直接更改這個值,其他界面可以直接使用,不過不是很推薦。
2、使用廣播發送消息,其他界面接收。

⑷ Android如何運行第二個頁面

使用activity實現。
1、在Android中,創建兩個activity。
2、將其中一個activity中組件作為事件源。
3、通過組件事件的處理藉助intent對象實現跳轉。

⑸ android app每天正常寫幾個頁面

平均下來的話,一天差不多一個頁面算是快些的速度。因為多數頁面都包含點擊邏輯,彈窗,動畫,還有些會有集成第三方聊天,語音等,還有一些比較不好做的部分,一天一個頁面已經算是快進度了。

⑹ android 多個頁面怎麼共用同一組件

自定義組件就行。如果覺得還不好就創建一個mole。

關於自定義組件的實例,請參考android學習手冊,android學習手冊包含9個章節,108個例子,源碼文檔隨便看,例子都是可交互,可運行,源碼採用android studio目錄結構,高亮顯示代碼,文檔都採用文檔結構圖顯示,可以快速定位。360手機助手中下載,圖標上有貝殼

.多個Activity共用相同布局或者相同控制項:避免重復代碼;

BaseActivit代碼:

{

/*

* 多個Activity共用相同布局或者相同控制項

* 寫個基類繼承,避免重復代碼

*/

@Override

publicvoidonClick(View v)

{

switch(v.getId())

{

caseR.id.common_titlebar_btn_back:

finish();

break;

default:

break;

}

baseOnClick(v);

}

protectedvoidbaseOnClick(View v)

{

}

@Override

protectedvoidonCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

// setContentView(R.layout.activity_base);

}

@Override

protectedvoidonResume()

{

super.onResume();

onPostOnCreate();

}

publicfinalvoidonPostOnCreate()//find同一個控制項

{

findViewById(R.id.common_titlebar_btn_back).setOnClickListener(this);

}

@Override

(Menu menu)

{

getMenuInflater().inflate(R.menu.base, menu);

returntrue;

}

}


子類代碼:


{

/**

* layout里復用同一布局:

* < include

* android:id="@+id/include1"

* layout="@layout/common_titlebar" />

*/

@Override

protectedvoidonCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_third_main);

}

}

⑺ android開發多個界面怎麼共用一個Menu菜單

如果想要在android開發多個界面中共用一個Menu菜單那麼可以把這幾個Activity加入到一個ActivityGroup裡面,然後把Menu菜單寫在ActivityGroup裡面就行了,這樣就實現了共用一個菜單。

⑻ android中如何利用一個按鈕進行多個頁面的跳轉

莫過於你想要的就是這個按鈕在不同的狀態的時候啟動相應的ACTIVITY,那比如你要啟動4個頁面,你設置4個常量 ONE、TWO、Three、Four 在設置一個常量flag 在不同的情況下,定義flag的值等於ONE或TWO或Three或Four,然後再按鈕的響應事件中 做一個判斷 switch(falg) { case ONE: break;case Two: break;case Three: break;case Four: break;

}

⑼ 在android開發中,怎樣動態生成多界面

效果:

layout界面布局:

[html] view plainprint?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:ad="http://schemas.android.com/apk/res/android"
ad:layout_width="match_parent"
ad:layout_height="match_parent"
ad:orientation="vertical" >

<LinearLayout
ad:layout_width="match_parent"
ad:layout_height="30dp"
ad:background="@drawable/titlebar_bg"
ad:orientation="horizontal" >

<ImageView
ad:layout_width="wrap_content"
ad:layout_height="wrap_content"
ad:src="@drawable/back_44_44" />

<LinearLayout
ad:layout_width="match_parent"
ad:layout_height="30dp"
ad:gravity="center" >

<TextView
ad:layout_width="wrap_content"
ad:layout_height="wrap_content"
ad:text="課程列表"
ad:textSize="20sp" />
</LinearLayout>
</LinearLayout>

<ScrollView
ad:id="@+id/ScrollView"
ad:layout_width="fill_parent"
ad:layout_height="wrap_content"
ad:scrollbars="vertical" >

<LinearLayout
ad:id="@+id/mainLayout"
ad:layout_width="match_parent"
ad:layout_height="wrap_content"
ad:orientation="vertical" >
</LinearLayout>
</ScrollView>

</LinearLayout>

httputil輔助類:

[java] view plainprint?
package com.tudou.activity.work4;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

import android.util.Log;

public class HttpUtil {
/**
* 獲取到流,自己處理數據
* @param path
* @return
*/
public static InputStream getInputStream(String path) {
HttpURLConnection conn = null;
try {
URL url = new URL(path);
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
// 設置是否向httpUrlConnection輸出,post請求,參數要放在http正文內
conn.setDoOutput(true);
conn.setReadTimeout(3000);
conn.setConnectTimeout(3000);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
if (conn.getResponseCode() == 200) {
Log.d("mylog", "getResponseCode:" + 200);
return conn.getInputStream();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (conn != null) {
conn.disconnect();
}
}
return null;
}

/**
* 直接返回響應體正文
* @param path
* @return
*/
public static String getResponseBody(String path,String params) {
HttpURLConnection conn = null;
StringBuffer result=new StringBuffer();
try {
URL url = new URL(path);
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
// 設置是否向httpUrlConnection輸出,post請求,參數要放在http正文內
conn.setDoOutput(true);
conn.setReadTimeout(3000);
conn.setConnectTimeout(3000);
conn.setUseCaches(false);
conn.setRequestMethod("POST");

//數據輸出流,該語句隱含的執行connect動作
if(params!=null){
DataOutputStream out = new DataOutputStream( conn.getOutputStream());
//將參數寫入流,刷新提交關閉流
out.writeBytes(params);
out.flush();
out.close();
}

//讀取連接返回的數據
BufferedReader reader = new BufferedReader(new InputStreamReader( conn.getInputStream()));
String inputLine = null;
while (((inputLine = reader.readLine()) != null)) {
result.append(inputLine);//"\n";
}
//關閉
reader.close();


if (conn.getResponseCode() == 200) {
Log.d("mylog", "getResponseCode:" + 200);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (conn != null) {
conn.disconnect();
}
}
return result.toString();
}
}

主activity:

[java] view plainprint?
package com.tudou.activity.work4;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import com.tudou.activity.R;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ProgressBar;
import android.widget.TextView;

public class HomeWork4 extends Activity {
String path = "此處省略,你要請求的地址";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.homework4);
LinearLayout mainLayout = (LinearLayout)findViewById(R.id.mainLayout);
String result=HttpUtil.getResponseBody(path,null);
// Log.d("mylog", "result:" + result);

try{
JSONObject obj = new JSONObject(result);
JSONArray array=obj.getJSONArray("onlineCourses");
for (int i = 0; i < array.length(); i++) {
JSONObject course= array.getJSONObject(i);
// Log.d("mylog", "course:" + course.toString());
//添加左邊的layout
LinearLayout leftlayout=new LinearLayout(this);
//注意包android.widget.LinearLayout.LayoutParams,其它包下面的LayoutParams不起作用
LayoutParams params=new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.topMargin=10;
leftlayout.setLayoutParams(params);
leftlayout.setOrientation(LinearLayout.HORIZONTAL);
leftlayout.setGravity(Gravity.CENTER_VERTICAL);
//添加左邊layout的圖片
ImageView imageView=new ImageView(this);
params=new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
imageView.setLayoutParams(params);
imageView.setImageResource(R.drawable.image_default_195_130);
leftlayout.addView(imageView);

//添加右邊的layout,分為上下2部分,上面是標題,下面是進度條
LinearLayout rightlayout=new LinearLayout(this);
LayoutParams rightLayoutParams=new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
rightlayout.setLayoutParams(rightLayoutParams);
rightlayout.setOrientation(LinearLayout.VERTICAL);
//添加課程標題
TextView textView=new TextView(this);
params=new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
textView.setLayoutParams(params);
textView.setText(course.get("courseName").toString());
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);//18SP

//學分,水平布局,分為左右,左:學分,,右:分值
LinearLayout studyLayout=new LinearLayout(this);
params=new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
studyLayout.setLayoutParams(params);
studyLayout.setOrientation(LinearLayout.HORIZONTAL);
//添加學分
TextView studyView=new TextView(this);
params=new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
studyView.setLayoutParams(params);
studyView.setText("學分:");
studyView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
studyView.setTextColor(Color.parseColor("#b6b6b6"));//第2種方法:setTextColor(Color.rgb(255, 255, 255));
//添加學分值
TextView studyValueView=new TextView(this);
params=new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
studyValueView.setLayoutParams(params);
studyValueView.setText(course.get("courseCredit").toString());
studyValueView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);


//進度條,水平布局,分為左中右,左:學習進度,中:進度條,右:%值
LinearLayout processLayout=new LinearLayout(this);
params=new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
processLayout.setLayoutParams(params);
processLayout.setOrientation(LinearLayout.HORIZONTAL);
//添加學習進度
TextView processtextView=new TextView(this);
params=new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
processtextView.setLayoutParams(params);
processtextView.setText("學習進度:");
processtextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
processtextView.setTextColor(Color.parseColor("#b6b6b6"));
//添加進度條
ProgressBar bar=new ProgressBar(this,null,android.R.attr.progressBarStyleHorizontal);//指定進度條樣式
params=new LayoutParams(150, ViewGroup.LayoutParams.WRAP_CONTENT);
bar.setLayoutParams(params);
bar.setMax(100);
bar.setProgress(10);
//添加%值
TextView processvaluetextView=new TextView(this);
params=new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
processvaluetextView.setLayoutParams(params);
processvaluetextView.setText("10%");
processvaluetextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
processvaluetextView.setTextColor(Color.parseColor("#b6b6b6"));

//添加標題
rightlayout.addView(textView);
//添加學分
studyLayout.addView(studyView);
studyLayout.addView(studyValueView);
rightlayout.addView(studyLayout);
//添加進度條
processLayout.addView(processtextView);
processLayout.addView(bar);
processLayout.addView(processvaluetextView);
rightlayout.addView(processLayout);
//添加左右邊
leftlayout.addView(rightlayout);
mainLayout.addView(leftlayout);
}
}catch(JSONException e){
e.printStackTrace();

⑽ Android的Socket在多個頁面接收數據的問題

可以用handle,也可以用回調。還有socket不建議放到application中。

熱點內容
高壓縮比發動機 發布:2024-04-24 11:13:16 瀏覽:344
數獨c語言 發布:2024-04-24 11:05:10 瀏覽:915
sql2008外網訪問 發布:2024-04-24 10:34:20 瀏覽:576
如何在伺服器中添加字 發布:2024-04-24 10:21:43 瀏覽:362
代寫Python 發布:2024-04-24 10:19:08 瀏覽:769
安卓手機如何破九宮鎖 發布:2024-04-24 10:05:47 瀏覽:677
攝像頭要什麼樣的配置好 發布:2024-04-24 09:30:24 瀏覽:365
存儲過程定義多個變數 發布:2024-04-24 09:04:13 瀏覽:762
為什麼安卓手機不值錢 發布:2024-04-24 09:02:40 瀏覽:100
拱度計演算法 發布:2024-04-24 08:53:09 瀏覽:290