当前位置:首页 » 安卓系统 » 安卓如何创建自定义布局

安卓如何创建自定义布局

发布时间: 2022-09-20 07:20:29

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。以下为示例代码:


  1. 创建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
全部设置好后,然后点击隐藏 进入后台模式
追问:

热点内容
继承者下载22下载ftp 发布:2025-01-12 02:44:06 浏览:352
数据库换格式 发布:2025-01-12 02:44:02 浏览:458
一起编程地球 发布:2025-01-12 02:42:43 浏览:872
无法设置kms服务器地址怎么办 发布:2025-01-12 02:42:36 浏览:523
android任务 发布:2025-01-12 02:36:07 浏览:633
家用办公学习电脑要什么配置 发布:2025-01-12 02:27:00 浏览:912
十一代思域劲动有哪些配置 发布:2025-01-12 02:26:56 浏览:416
java怎么删除文件 发布:2025-01-12 02:25:13 浏览:107
最新款的电脑高配置是什么样的 发布:2025-01-12 01:44:08 浏览:823
编程手舞蹈 发布:2025-01-12 01:36:18 浏览:958