安卓如何創建自定義布局
A. 安卓怎麼自定義listview
創建一個android項目並在布局文件中加入一個ListView控制項,代碼如圖:
定義一個VO類User用於存放一些數據
新建一個列表項的內容布局,這里每一項都會有一個小圖片,兩個文本
新建一個數據適配器類MyDataAdapter繼承自ArrayAdapter並做如圖的構造器:
到網路圖片上去搜一些小圖片,放到圖中的res/drawable目錄下
要對ListView的列表顯示項目進行自定義,就要重寫適配器類的onView方法,如圖:
在主界面初始化一個用戶列表,並設置ListView的適配器為我們自定義的適配器
在genimotion模擬器裡面運行一把,效果如圖:
B. 如何使一個谷歌加號按鈕,在Android的自定義布局
那個「+」號其實是一個按鈕,你可以用Android中的ImageButton。
具體用法,在你的布局Layout中,在你需要那個「+」號的位置聲明一個ImageButton,代碼:
<ImageButton
android:id="@+id/btn_add"
androdi:src="@drawable/android.R.drawable.ic_menu_add"
android:layout_width="wrap_content"
android:layout_width="wrap_content">
這個圖片的位置在你的SDK目錄下面的:\android-sdk-windows\docs\images\icon_design目錄下面。
在你的代碼中添加對這個Button的響應。
addButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Editext edit = new EditText();
myLayout.addView(edit);
}
});
myLayout就是你的界面的Layout。addButton就是你剛剛添加的這個ImageButton。
大概就是這個意思,當你點擊按鈕的時候,在你的Layout裡面新加一個EditText進去。前提是你的Layout的高度要設置成wrap_content。
C. android 自定義ListView加自己的布局
Listview使用自定義布局,則需要創建layout,並引用layout。以下為示例代碼:
創建layout文件
<?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="wrap_content">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/online_user_list_item_textview" android:text="TextView"></TextView>
<Button
android:text="button"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
2.layout面含有的textview是想要展示內容的地方。那麼構建ArrayAdapter時,應該這樣寫:
ArrayAdapter<String>adapter=newArrayAdapter<String>(this,R.layout.online_user_list_item,R.id.online_user_list_item_textview);
3.ArrayAdapter並且重寫getView方法。代碼:
public class UserListAdapter extends ArrayAdapter<User> {
private int resourceId;
public UserListAdapter(Context context, int textViewResourceId, List<User> objects) {
super(context, textViewResourceId, objects);
this.resourceId = textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
User user = getItem(position);
LinearLayout userListItem = new LinearLayout(getContext());
String inflater = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater vi = (LayoutInflater)getContext().getSystemService(inflater);
vi.inflate(resourceId, userListItem, true);
TextView tvUsername = (TextView)userListItem.findViewById(R.id.tv_user_list_username);
TextView tvAskedNum = (TextView)userListItem.findViewById(R.id.tv_user_list_askednum);
TextView tvLastMsg = (TextView)userListItem.findViewById(R.id.tv_user_list_lastmsg);
tvUsername.setText(user.getUsername());
tvAskedNum.setText(String.valueOf(user.getAskedNum()));
tvLastMsg.setText(user.getLastMsg());
return userListItem;
}
}
4.將適配器應用到ListView即可,listview.setAdapter(arrayAdapter);即可實現。
D. 安卓怎麼自定義listview
自己寫子項布局xml,創建相對應的類負責對其初始化,然後用適配器顯示到listview中,望採納。
E. 百度手機輸入法如何自定義按鍵和界面布局
一、首先,確認網路手機輸入法已在手機上啟用,並在設置輸入法中進行檢查確認。
F. 深圳北大青鳥分享Android之自定義控制項
一、簡單自定義控制項MyButton每一個控制項都是一個java類,有對應的代碼,只要你能正確的編寫java代碼,那麼電腦培訓http://www.kmbdqn.cn/發現可以創造出符合你需求的控制項,即自定義控制項。
1.通過繼承的方式,創建自定義控制項通過繼承一個現有的控制項,覆蓋其界面的呈現通過繼承一個包含若乾子控制項的布局通過繼承一個現有的控制項,覆蓋某個響應事件繼承一個View來完整自定義一個心控制項2.使你的自定義控制項繼承自某個最接近的Android控制項,必須是public一般都會調用父類的構造方法,注意一般有三個構造方法覆蓋原來控制項的方法,注意是否要再調用super中的方法在XML中以類全名的方式引用此控制項二、復雜自定義控制項MyLogin需要設計包含一組控制項的自定義控制項就需要用到復雜的自定義控制項1)使得你的自定義控制項繼承自某個接近的布局2)正確的實現構造方法:構造方法中實例化目標布局,同時查找到各個子布局3)添加相應的響應代碼來修改屬性,使得外部能訪問布局中的子控制項4)在XML中以類全名的方式引用此控制項,完整的包名+類名。
G. Android如何調用其他的布局顯示在對話框中
自定義Dialog。
1、編寫自定義布局。
2、繼承Dialog,覆蓋構造方法。
3、覆蓋onCreate(),初始化控制項。以上就是Android調用其他的布局顯示在對話框中的方法。
H. Android自定義layout怎麼寫
LinearLayout自定義方法有多種:
1、自定義xml布局,然後載入布局,自定義一個View繼承LinearLayout
2、在自定義控制項中聲明它的所有子元素,然後在Layout文件中像使用LinearLayout一樣去進行布局。
第二種比較煩 ,它需要在Layout文件中定義好子元素之後,要在代碼 onFinishInflate() 進行匹配子元素。
我就說說載入布局文件的方法吧。
首先:定義好layout文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="5dip"
android:paddingLeft="40dip"
android:paddingTop="5dip"
android:src="@drawable/right_icon" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:text="主題"
android:textColor="#000000" />
<LinearLayout
android:layout_width="100dp"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="5dip"
android:paddingLeft="12dip"
android:paddingTop="5dip"
android:src="@drawable/home_icon" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="5dip"
android:paddingLeft="12dip"
android:paddingTop="5dip"
android:src="@drawable/add_icon" />
</LinearLayout>
</LinearLayout>
public class MyLinearLayout extends LinearLayout {
private ImageView imageView,iv_home,iv_add;
private TextView textView;
public MyLinearLayout (Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public MyLinearLayout (Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.actionbar, this);
imageView=(ImageView) findViewById(R.id.imageView1);
iv_home=(ImageView) findViewById(R.id.imageView2);
iv_add=(ImageView) findViewById(R.id.imageView3);
textView=(TextView)findViewById(R.id.textView1);
}
/**
* 設置圖片資源
*/
public void setImageResource(int resId) {
imageView.setImageResource(resId);
}
/**
* 設置顯示的文字
*/
public void setTextViewText(String text) {
textView.setText(text);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<cn.com.demo.view.MyLinearLayout
android:id="@+id/ll_actionbar"
android:layout_height="fill_parent<span style="font-family: Tahoma, 'Microsoft Yahei', Simsun;">" </span>
android:layout_width="wrap_content"
android:background="@drawable/bg"
/>
</LinearLayout>
接下來自定義一個MyLinearLayout繼承LinearLayout,並且載入剛剛寫好的layout文件。(比如http://www.tiecou.com)
public class MyLinearLayout extends LinearLayout {
private ImageView imageView,iv_home,iv_add;
private TextView textView;
public MyLinearLayout (Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public MyLinearLayout (Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.actionbar, this);
imageView=(ImageView) findViewById(R.id.imageView1);
iv_home=(ImageView) findViewById(R.id.imageView2);
iv_add=(ImageView) findViewById(R.id.imageView3);
textView=(TextView)findViewById(R.id.textView1);
}
/**
* 設置圖片資源
*/
public void setImageResource(int resId) {
imageView.setImageResource(resId);
}
/**
* 設置顯示的文字
*/
public void setTextViewText(String text) {
textView.setText(text);
}
}
最後,要的時候使用定義好的MyLinearLayout控制項。
I. Android如何自定義LinearLayout
LinearLayout自定義方法有多種:
1、自定義xml布局,然後載入布局,自定義一個View繼承LinearLayout
2、在自定義控制項中聲明它的所有子元素,然後在Layout文件中像使用LinearLayout一樣去進行布局。
第二種比較煩 ,它需要在Layout文件中定義好子元素之後,要在代碼 onFinishInflate() 進行匹配子元素。
我就說說載入布局文件的方法吧。
首先:定義好layout文件
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="5dip"
android:paddingLeft="40dip"
android:paddingTop="5dip"
android:src="@drawable/right_icon"/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:text="主題"
android:textColor="#000000"/>
<LinearLayout
android:layout_width="100dp"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="5dip"
android:paddingLeft="12dip"
android:paddingTop="5dip"
android:src="@drawable/home_icon"/>
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="5dip"
android:paddingLeft="12dip"
android:paddingTop="5dip"
android:src="@drawable/add_icon"/>
</LinearLayout>
</LinearLayout>
{
privateImageViewimageView,iv_home,iv_add;
privateTextViewtextView;
publicMyLinearLayout(Contextcontext){
super(context);
//TODOAuto-generatedconstructorstub
}
publicMyLinearLayout(Contextcontext,AttributeSetattrs){
super(context,attrs);
//TODOAuto-generatedconstructorstub
LayoutInflaterinflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.actionbar,this);
imageView=(ImageView)findViewById(R.id.imageView1);
iv_home=(ImageView)findViewById(R.id.imageView2);
iv_add=(ImageView)findViewById(R.id.imageView3);
textView=(TextView)findViewById(R.id.textView1);
}
/**
*設置圖片資源
*/
publicvoidsetImageResource(intresId){
imageView.setImageResource(resId);
}
/**
*設置顯示的文字
*/
publicvoidsetTextViewText(Stringtext){
textView.setText(text);
}
}
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<cn.com.demo.view.MyLinearLayout
android:id="@+id/ll_actionbar"
android:layout_height="fill_parent<spanstyle="font-family:Tahoma,'MicrosoftYahei',Simsun;">"</span>
android:layout_width="wrap_content"
android:background="@drawable/bg"
/>
</LinearLayout>
接下來自定義一個MyLinearLayout繼承LinearLayout,並且載入剛剛寫好的layout文件。(比如http://www.tiecou.com)
{
privateImageViewimageView,iv_home,iv_add;
privateTextViewtextView;
publicMyLinearLayout(Contextcontext){
super(context);
//TODOAuto-generatedconstructorstub
}
publicMyLinearLayout(Contextcontext,AttributeSetattrs){
super(context,attrs);
//TODOAuto-generatedconstructorstub
LayoutInflaterinflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.actionbar,this);
imageView=(ImageView)findViewById(R.id.imageView1);
iv_home=(ImageView)findViewById(R.id.imageView2);
iv_add=(ImageView)findViewById(R.id.imageView3);
textView=(TextView)findViewById(R.id.textView1);
}
/**
*設置圖片資源
*/
publicvoidsetImageResource(intresId){
imageView.setImageResource(resId);
}
/**
*設置顯示的文字
*/
publicvoidsetTextViewText(Stringtext){
textView.setText(text);
}
}
最後,要的時候使用定義好的MyLinearLayout控制項。
J. 安卓超任模擬器怎麼改布局
步驟:
點擊第一步 然後勾選game keyboadr
點擊第二部,選擇game keyboard
第三部 點擊輸入框 會發現按鈕出來了
接著是設置, 虛擬物理和觸屏模式按鍵要勾選起來(還有其他的設置有時間可以自己摸索~~)
接著是分布鍵位設置的關鍵 先開啟好自定義設置 這個會比較方便 在手柄外觀-- 定製布局
開啟布局編輯模式和自定義布局
然後是按照游戲的位置來進行位置微調 這里是時空獵人的圖片,左邊是方向鍵, 右邊是攻擊技能 還有補血鍵
對應成這樣, 在點擊輸入框的時候調整---> 注:點擊按鈕會出現 remove(刪除) resize(大小) ,這兩個可以設置按鈕屬性, input 和 output是輸入輸出
如果不行 截個圖來對照!!!!!
然後就是去設置映射鍵位了 點擊物理按鍵映射
映射按鍵是映射物理按鍵,,,, 映射的時候 先輸入按鍵 然後對應屏幕顯示的手柄按鈕,,, 如果是按鈕A則 A to 按鍵A
全部設置好後,然後點擊隱藏 進入後台模式
追問: