Android中activity以dialog的形式出現
activity變身為dialog可以實現多功能的dialog,閒話少說直接上程式碼!
MainActivity.class
/**
* Activity偽裝成的Dialog需要繼承Activity
* 彈窗Activity需要新增主題Theme
*/
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void start(View view) {
startActivity(new Intent(MainActivity.this, DialogActivity.class));
}
}
activity_mian.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height ="match_parent"
tools:context="jpceshi.jiaxiao.com.dialogactivity.MainActivity">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="start"
android:text="跳轉" />
</LinearLayout>
跳轉後出現的dialog樣式
DialogActivity .class
/**
在edittext中輸入內容後點擊button會將內容直接顯示到textView中。
*/
public class DialogActivity extends Activity {
private EditText mEditText;
private Button mButton;
private TextView mTextView;
private String str;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);
initView();
}
private void initView() {
mEditText = (EditText) findViewById(R.id.edtext);
mTextView = (TextView) findViewById(R.id.tvshow);
mEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
str = s.toString();
}
});
}
public void addText(View view) {
if (str != null) {
mTextView.setText(str);
} else {
mTextView.setText("null");
}
}
}
activity_dialog.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="200dp"
android:layout_height="200dp"
android:orientation="vertical"
tools:context="jpceshi.jiaxiao.com.dialogactivity.activity.DialogActivity">
<EditText
android:id="@+id/edtext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:gravity="center"
android:hint="請輸入"
android:textColor="@android:color/black"
android:textColorHint="@android:color/holo_blue_light" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/button_onoff_indicator_on"
android:onClick="addText"
android:text="新增" />
<TextView
android:id="@+id/tvshow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@android:color/black" />
</LinearLayout>
注:
最重要的一步是:在AndroidManifest.xml檔案中給需要顯示成dialog樣式的
Activity新增 android:theme=”@android:style/Theme.Dialog”(系統自帶 的樣式,也可以自定義樣式)
相關推薦
Android中activity以dialog的形式出現
activity變身為dialog可以實現多功能的dialog,閒話少說直接上程式碼! MainActivity.class /** * Activity偽裝成的Dialog需要繼承Activit
Android中GridView以表格形式顯示多張圖片(仿桌面)
GridView可以理解為顯示多列的ListView,這次就利用GridView做一個仿桌面的案例。GridView和ListView的使用相同,都基本使用以下三步走:設定資料來源,設定介面卡,
以Dialog形式顯示Activity
<activity android:name=".ActivityJumpExample" android:label="hello" android:theme="@android:style/Theme.Dialog"></activit
Android中Activity被系統會收前頁面信息保存
prot 判斷 edi 1.5 protected 是否為空 信息保存 android and 1、重寫onSaveInstanceState方法 protected void onSaveInstanceState(Bundle outState) { super
c語言 將記憶體中資料以二進位制形式寫入檔案 檔案中的資料表現形式
最近有在寫關於將記憶體中的資料寫入檔案的程式,當程式執行後,卻發現檔案中的位元組資料有些難以理解。思考後發現了其中的道理。 程式碼如下: #include<stdio.h> #include<stdlib.h> struct BlockInfo { bool is
Android中activity和xml的第一個專案
我們使用的手機不光是隻用到一個應用程式,比如在淘寶介面要付款的時候可能會啟動微信付款等,這就相當於在淘寶的Activity中啟動了微信的Activity。還比如說當我們註冊一個網站是,可能會給自己傳送一條簡訊作為驗證,這就是在當前的Activity中啟動了簡訊的Activity。之前對比的MVC設
android中Activity生命週期的詳細過程分析
android中Activity生命週期的詳細過程分析 Activity是安卓中相當重要的一個元件,理解它有利於我們後期更好的進行相關的開發,接下來我將演示一個demo來詳細講述Activity的生命週期過程。 首先寫兩個佈局檔案ks.xml和ks1.xml,用來實現兩個介面的跳轉,上面
Android中自定義Dialog樣式
public class MyMiddleDialog extends Dialog { private Context context; public MyMiddleDialog(Context context) { sup
Android中Activity啟動過程探究
首先追溯到Activity的啟動,隨便啟動一個自己寫的demo專案,使用DDMS進行debug標記,然後在Debug中把主執行緒暫停,可以看到呼叫棧。如下圖所示: 於是我們先看android.app.ActivityThread的main()方法。 android.a
Android中Activity的啟動模式(LaunchMode)和使用場景
一、為什麼需要啟動模式 在Android開發中,我們都知道,在預設的情況下,如果我們啟動的是同一個Activity的話,系統會建立多個例項並把它們一一放入任務棧中。當我們點選返回(back)鍵,這些Activity例項又將從任務棧中一一移除,遵循的原則是“
Android中Activity四種啟動模式和taskAffinity屬性詳解
在android應用開發中,打造良好的使用者體驗是非常重要的。而在使用者體驗中,介面的引導和跳轉是值得深入研究的重要內容。在開發中,與介面跳轉聯絡比較緊密的概念是Task(任務)和Back Stack(回退棧)。activity的啟動模式會影響Task和Back Stack
Android中Activity之間引數傳遞
Intent:一直穿梭在Activity之間,它不光只是為了使Activity之間進行跳轉。在跳轉的時候,還可以進行Acivity之間的引數傳遞。 下面舉幾個列子。以MianActivity,TheActivity為例子。 MianActivity類 In
Android 中activity實現全屏無標題欄透明
1.在xml檔案中進行配置 在專案的清單檔案AndroidManifest.xml中,在對應Activity進行如下配置即可。 2.編寫程式碼設定 在對應activity的onCreate()方法中加入如下程式碼即可 實現全屏效果: getWindow().set
Android中Activity觸控事件傳遞原始碼學習
Activity中的觸控事件傳遞對應兩個方法:dispatchTouchEvent和onTouchEvent。分別是分發和消費。 先來看分發。 /** * Called to process touch screen events. You
Android中Activity之間通訊
一、使用Intent 在 Android 中,不同的 Activity 例項可能執行在一個程序中,也可能執行在不同的程序中。因此我們需要一種特別的機制幫助我們在 Activity 之間傳遞訊息。Android 中通過 Intent 物件來表示一條訊息,一個 Inten
Android中Activity的View組成
原始碼基於API25 最簡單的Activity 這裡以繼承自Activity為準,不是AppCompatActivity,AppCompatActivity是有一點不同的。 public class Main2Activity extends
Android 中 Activity的記憶體洩漏,原因以及處理方法
文章參考: 八個造成 Android 應用記憶體洩露的原因 Android記憶體洩漏產生的原因以及解決方案OOM android 常見記憶體洩漏原因及解決辦法 記憶體洩漏,說的更直白點,就是你想讓一個物件在下次GC的時候徹底被回收,但是呢,這個物件所處的
Android中自定義Dialog對話方塊消除邊距消除黑邊框和顯示動畫
這兩天練習一個專案 顯示對話方塊類似於QQ發表說說,寬是充滿螢幕的 並且有上下的顯示隱藏動畫 但是AlertDialog預設顯示模式是有邊距的 用了很多方法怎麼也消除不了AlertDialog的邊距 如下圖這樣 後來選擇使用Dialog消除了預設邊距的
Android中Activity與AppCompatActivity的理解
package com.chy.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; /* * support v4 FragmentActivity 相容2.x模式下使用Fragm
將Activity作為Dialog形式展現
What Why How 通常步驟 加入動畫 注意點 What Activity眾所周知,不再贅述 Why 當你遇到在一個Dialog樣式的popup中進行十分複雜