android布局的標簽
A. android 底部標簽 用不用fragment
Fragment是Android honeycomb 3.0新增的概念,在Android——Fragment介紹、Android
Fragment使用、Android FragmentManage
FragmentTransaction介紹中做了關於Fragment的詳細介紹。這一片主要通過一個實例了解Fragment的使用。
先看一下布局文件(layout):
android:orientation=「horizontal」 android:layout_width=「match_parent」
android:layout_height=「match_parent」>
class=「com.fragment.main.TitlesFragment」
android:id=「@+id/titles」 android:layout_weight=「1″
android:layout_width=「0px」 android:layout_height=「match_parent」 />
android:layout_width=「0px」 android:layout_height=「match_parent」
android:background=「?android:attr/detailsElementBackground」 />
布局文件中使用了fragment標簽和FrameLayout標簽。Android Fragment使用
中介紹了2中嵌入Fragment的方法,這個實例中都用到,從布局文件看到有了fragment標簽,這是一種使用方法,FrameLayout標簽將會成為第二種載入fragment的載體view。
看一下程序實現(com.fragment.main.TitlesFragment):
public class TitlesFragment extends ListFragment {
int mCurCheckPosition = 0;
int mShownCheckPosition = -1;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter(getActivity(),
android.R.layout.simple_list_item_activated_1,
Shakespeare.TITLES)); //使用靜態數組填充列表
if (savedInstanceState != null) {
mCurCheckPosition = savedInstanceState.getInt(「curChoice」, 0);
mShownCheckPosition = savedInstanceState.getInt(「shownChoice」, -1);
}
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
showDetails(mCurCheckPosition);
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(「curChoice」, mCurCheckPosition);
outState.putInt(「shownChoice」, mShownCheckPosition);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id)
{
showDetails(position);
}
/**
*顯示listview item 詳情
*/
void showDetails(int index) {
mCurCheckPosition = index;
getListView().setItemChecked(index, true);
if (mShownCheckPosition != mCurCheckPosition) {
DetailsFragment df = DetailsFragment.newInstance(index);
FragmentTransaction ft = getFragmentManager()
.beginTransaction();
ft.replace(R.id.details, df);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
mShownCheckPosition = index;
}
}
}
TitlesFragment
TitlesFragment繼承自Fragment的子類ListFragment,使用了一個靜態數組填充列表,重寫了onListItemClick方法,showDetails方法展示ListView
item的詳情。
5DetailsFragment df =
DetailsFragment.newInstance(index);//獲取詳情Fragment的實例
FragmentTransaction ft =
getFragmentManager().beginTransaction();//獲取FragmentTransaction 實例
ft.replace(R.id.details, df); //使用DetailsFragment 的實例
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();//提交
這里就使用到了Android Fragment使用中介紹的第二種載入fragment的方法。看一下DetailsFragment :
public class DetailsFragment extends Fragment {
/** * Create a new instance of DetailsFragment, initialized to * show the
text at 』index』. */
public static DetailsFragment newInstance(int index) {
DetailsFragment f = new DetailsFragment();
// Supply index input as an argument.
Bundle args = new Bundle();
args.putInt(「index」, index);
f.setArguments(args);
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) {
return null;
}
ScrollView scroller = new ScrollView(getActivity());
TextView text = new TextView(getActivity());
int padding = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 4, getActivity().getResources()
.getDisplayMetrics());
text.setPadding(padding, padding, padding, padding);
scroller.addView(text);
text.setText(Shakespeare.DIALOGUE[getArguments().getInt("index", 0)]);
return scroller;
}
}
DetailsFragment 中使用newInstance(int index)方法產生DetailsFragment
實例並接受整型參數,重載了onCreateView方法創建view。
這個例子基本完成了,主要介紹的是在3.0以後的使用方法,其實Fragment在SDK1.6之後就可以使用了,在1.6上使用需要藉助
android-support-v4.jar包實現。android-support-v4.jar在:SDK根目錄\extras\android
\compatibility\v4下可以找到,如果想了解Fragment在SDK1.6上怎麼實現的請參考Fragment 在Android
SDK1.6上實現。
B. Android 六大布局是那些
Android六大基本布局分別是:線性布局LinearLayout、表格布局TableLayout、相對布局RelativeLayout、層布局FrameLayout、絕對布局AbsoluteLayout、網格布局GridLayout。
其中,表格布局是線性布局的子類。網格布局是android 4.0後新增的布局。
在手機程序設計中,絕對布局基本上不用,用得相對較多的是線性布局和相對布局。
C. 如何解決AndroidApp開發布局顯示問題
Android app開發布局顯示的方式如下:
View的布局顯示方式有下面幾種:線性布局(Linear Layout)、相對布局(Relative Layout)、表格布局(Table Layout)、網格視圖(Grid View)、標簽布局(Tab Layout)、列表視圖(List View)、絕對布局(AbsoluteLayout)。
View的布局顯示方式直接影響用戶界面,View的布局方式是指一組View元素如何布局,准確的說是一個ViewGroup中包含的一些View怎麼樣布局。ViewGroup類是布局(layout)和視圖容器(View container)的基類,此類也定義了ViewGroup.LayoutParams類,它作為布局參數的基類,此類告訴父視圖其中的子視圖想如何顯示。例如,XML布局文件中名為layout_something的屬性(參加上篇的4.2節)。我們要介紹的View的布局方式的類,都是直接或間接繼承自ViewGroup類,如下圖所示:
D. android studio 如何修改布局標簽模板
RelativeLayoutlayout=(RelativeLayout)findViewById(R.id.layout);Buttonbut=newButton(this);RelativeLayout.LayoutParamslp=newRelativeLayout.LayoutParams(50,50);lp.addRule(RelativeLayout.ALIGN_TOP,R.id.button);lp.add.
E. Android中的五種布局方式
分別是:FrameLayout(框架布局),LinearLayout (線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局)。
一、FrameLayout:所有東西依次都放在左上角,會重疊,這個布局比較簡單,也只能放一點比較簡單的東西。二、LinearLayout:線性布局,每一個LinearLayout裡面又可分為垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。當垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;水平布局時,只有一行,每一個元素依次向右排列。三、AbsoluteLayout:絕對布局用X,Y坐標來指定元素的位置,這種布局方式也比較簡單,但是在屏幕旋轉時,往往會出問題,而且多個元素的時候,計算比較麻煩。四、RelativeLayout:相對布局可以理解為某一個元素為參照物,來定位的布局方式。主要屬性有:相對於某一個元素android:layout_below、 android:layout_toLeftOf相對於父元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh;五、TableLayout:表格布局,每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素。每一個布局都有自己適合的方式,這五個布局元素可以相互嵌套應用,做出美觀的界面。
F. android中Activity有哪幾種布局
線性布局(Linear Layout)、相對布局(Relative Layout)、表格布局(Table Layout)、網格視圖(Grid View)、標簽布局(Tab Layout)、列表視圖(List View)、絕對布局(AbsoluteLayout)
G. 今天第一次看Android studio教程,看到布局的時候怎麼標簽怎麼不一樣呢
我現在用的AndroidStudio創建的默認Activity的根布局標簽也是這個,不過直接改成RelativeLayout或者是LinearLayout就行,這個是AS直接推薦的布局,用不慣的話直接修改為自己常使用的就行,主要是Studio版本比較高,當然你在創建Activity的時候也可以直接指定根布局的標簽
你這個情況是因為你的AndroidStudio版本高,Gradle版本高,並且SDK集成了Android_10,在android_10中將android.support.v4和android.support.v7合並成了androidx,這個是Google最近發布的,但是教程中一般錄制的比較早,所以是你的版本高於教程的版本而已。
H. android在設定布局的xml文件中各種標簽都會有什麼作用
顧名思義,布局文件,就是管理Activity中的布局的文件,各種標簽,有各種標簽的作用,比如:
LinearLayout:指定線性布局
FrameLayout:指定幀布局
Button:指定按鈕
每種標簽,在官方文檔中都有使用方法。
I. App登錄界面----布局篇
我自學了3個月的Android基礎,居然一個App都做不出來。在我之前學的同時居然忘記了之前學的內容。所以我現在重新開始復習,這篇文章將是我復習的開始也是基礎的穩固,同時也是將來記不得了可以自我回顧的筆記。首先是從App登錄開始。
首先第一是布局,登錄界面布局那就要用到控制項,登錄界面所需控制項如下:
1.姓名 輸入框 密碼 輸入框:就要有Textview文本控制項 X 2, Editview輸入文本框控制項 X 2
2.立即注冊 忘記密碼 登錄 :就要有Button控制項 X 3
既然要布局就要有布局控制項:可以用RelativeLayout相對布局,LinearLayout線性布局,TableLayout表格布局,FrameLayout幀布局,AbsoluteLayout絕對布局。我要選用就就是前兩個布局:RelativeLayout相對布局或者LinearLayout線性布局。
這就是我最終預想所要達到的效果:
首先打開布局文件:展開app--->res--->layout--->activity_main.xml
切換到設計模式Design:
然後從調色板Palette就是控制項庫拖拽出所需控制項:
2個Textview,2個Editview ,3個Button.一開始布局控制項就是相對布局控制項,RelativeLayout相對布局控制項允許通過指定顯示對象相對於父容器或其他兄弟控制項的相對位置結合margin,padding來進行布局。
然後我們再切換迴文本模式Text:
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>這就組成了一個控制項。
再來解釋解釋RelativeLayout相對布局控制項是啥意思:
上圖所表現的意思就是RelativeLayout相對布局控制項的特點:TextView文本控制項基於父容器(RelativeLayout相對布局控制項)之下,再看圖:
它會自動添加默認屬性:android:text="文本控制項"//這是文本屬性可以輸入文字
android:textSize="50dp"//這是文本大小屬性是控制text屬性的大小
android:layout_width="wrap_content"//這是寬,選擇的自適應屏幕
android:layout_height="wrap_content"這是高。
android:layout_marginTop="253dp"// 重點就在這里了:在RelativeLayout相對布局下拖出的控制項會有這條屬性,意思是TextView相距父容器253dp的距離
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
好了我們繼續:我寫的這個布局呢?只用了兩個EditView控制項和三個Button控制項。先說EditView控制項。
拖拽出來改好了各種屬性但是和我的不一樣,哪裡不一樣?有邊框,邊框還是圓角。怎麼弄的?這是改變了它的樣式。首先目錄找到drawable文件按下Alt+lns鍵,點擊Drawable resource file
那就會彈出下面這個框框好創建資源文件,File name:這是資源文件的名字,Root element:這是需要創建什麼類型的資源文件。
假如沒有出現這個對話框而是另外的對話框就請更換模式
將Android 目錄模式切換成Project目錄模式
找到drawable文件重復上面操作就會出現
名字就自己取吧,類型選擇shape文件
這就是我為EditView設置的資源文件,那麼怎麼載入它呢?
用背景background屬性來載入:@drawable/border用@選擇文件位置載入就成功了。
文本框就做好了。噢!!!等等還有個屬性android:hint="登錄"還沒介紹,這是提示語:比如請輸入用戶名,請輸入密碼,這樣的提示語,只起到提示作用。範例:android:hint="請輸入用戶名"
好吧依次類推,Button按鈕也是這樣。我們先來看忘記密碼,立即注冊兩控制項這兩我沒這樣載入資源文件,我只用了3條屬性,
android:background="@null"//這條意思是背景設置路徑為空,作用是消除邊框。
android:shadowColor="#338AFF"//改變按鈕背景顏色,讓它看起來和相對布局背景融為一體。
android:textColor="#0066CC"//改變文字顏色
怎麼樣是不是和QQ登錄界面的差不多
那再來看立即登錄按鈕,這個按鈕我用了三個資源文件,為了讓按鈕按下抬起有一個變色效果,能夠反饋用戶視覺:您已按下按鈕。
首先看按下的資源文件:
這是按下的模樣,radius是設置圓角,然後是按下後的顏色。
再來看抬起:
這是抬起時候的樣子,圓角按下抬起都要設置一樣,不然按下是一個樣,抬起又是另一個樣子,然後是抬起的顏色。
這是兩個資源文件,如何讓按鈕呈現出按下抬起的不同效果呢?
就需要另一個資源文件來操控:selector資源文件
由他來控制這兩個資源文件:
<item/>這是資源文件的標簽,包括shape資源文件的:<corners/><solid/>都是標簽
標簽<item/>裡面
android:drawable="@drawable/clickroundedcolor"//是載入按下資源文件,
android:state_pressed="true"//true就是對,就是一個判斷作用,判斷是否按下,按下就載入按下的資源文件
然後再一個子標簽<item/>
<item android:drawable="@drawable/roundedcolor"/>也就是說當上面pressed不為true的時候執行下面這個標簽載入抬起狀態的效果。
這就做成了按下深藍抬起淺藍的顏色效果。那今天就到這里,復習到了什麼Editview Button控制項的使用然後在原來的基礎上學到了EditView 和Button控制項的UI設計一些細節效果。
還熟悉了Android studio。之前用Eclipse學習的Android,現在改用AS還特別不習慣,希望復習後我會熟練Android studio。恩,還有看到忘記密碼,立即注冊兩個按鈕是不是還會聯想到還有兩個布局。沒錯,忘記密碼和立即注冊這兩個布局文件,就不用記錄了,相信會了登錄主界面布局,其他兩個不在話下。
J. Android基礎之常用五種布局
所有東西依次都放在左上角,會重疊,這個布局比較簡單,也只能放一點比較簡單的東西。
分為垂直布局( android:orientation="vertical" )和水平布局( android:orientation="horizontal" )。
垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;
水平布局時,只有一行,每一個元素依次向右排列。
用X,Y坐標來指定元素的位置,這種布局方式也比較簡單
在屏幕旋轉時,往往會出問題,而且多個元素的時候,計算比較麻煩。
可以理解為某一個元素為參照物,來定位的布局方式。
主要屬性有:
相對於某一個元素 android:layout_below 、 android:layout_toLeftOf
相對於父元素的地方 android:layout_alignParentLeft 、 android:layout_alignParentRigh ;
每一個 TableLayout 裡面有表格行 TableRow , TableRow 裡面可以具體定義每一個元素。每一個布局都有自己適合的方式,這五個布局元素可以相互嵌套應用,做出美觀的界面。