三个TextView怎么老没在一行对齐

YXTS122 2017-03-23 12:12:40
如果是这样:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageView
android:id="@+id/iv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="32dp"
android:layout_marginTop="17dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/iv2"
android:layout_below="@+id/iv2"
android:text="@string/ze"
android:textSize="13sp" />


</RelativeLayout>


运行如下:

如果是这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageView
android:id="@+id/iv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/ze"
android:textSize="13sp" />


</LinearLayout>

运行如下:

activity_item.xml这个文件不管用相对布局还是线性布局,都不能使图--0,图--1,图--2在一行显示
activity_main.xml
<RelativeLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.gridviewdemo.MainActivity" >

<ImageView
android:id="@+id/iv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_launcher" />
<Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/iv1"
android:layout_centerHorizontal="true"
android:text="@string/xuan" />

</RelativeLayout>

activity_result.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<GridView
android:id="@+id/gv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:columnWidth="100dp" >

</GridView>

</RelativeLayout>

MainActivity.java
package com.example.gridviewdemo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity implements OnClickListener {
private Button button01;
private ImageView view;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button01=(Button)findViewById(R.id.bt1);
view=(ImageView)findViewById(R.id.iv1);
button01.setOnClickListener(this);
}

@Override
public void onClick(View v)
{
switch(v.getId())
{
case R.id.bt1:
Intent intent=new Intent(MainActivity.this,ResultActivity.class);
MainActivity.this.startActivityForResult(intent,1);
}
}

protected void onActivityResult(int requestCode,int resultCode,Intent data)
{
if (requestCode==1&&resultCode==Activity.RESULT_OK)
{
int imageId=data.getIntExtra("imageId",R.drawable.abc_ab_bottom_solid_dark_holo);
view.setImageResource(imageId);
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
...全文
231 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
YXTS122 2017-03-25
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:padding="10dp" >

<ImageView
android:id="@+id/iv2"
android:layout_width="80dp"
android:layout_height="80dp"
android:adjustViewBounds="false"
android:scaleType="fitCenter"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ffc0cb"
android:layout_marginTop="5dp"
android:layout_below="@+id/iv2"
android:text="@string/ze"
android:textSize="13sp" />


</RelativeLayout>


执行gridView.setAdapter(adapter);时会去执行getCount()
点击9张图中的一张,会先执行getItemId(),再执行onItemClick(),
可是getItem这个方法怎么没执行
YXTS122 2017-03-23
  • 打赏
  • 举报
回复
ResultActivity.java
package com.example.gridviewdemo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;

public class ResultActivity extends Activity
{
	private GridView gridView;
	private int[] images={R.drawable.abc_ic_clear,R.drawable.abc_textfield_search_selected_holo_light,R.drawable.abc_tab_selected_pressed_holo,
			R.drawable.abc_menu_hardkey_panel_holo_light,R.drawable.abc_spinner_ab_holo_dark,R.drawable.abc_list_selector_holo_light,
			R.drawable.abc_menu_dropdown_panel_holo_dark,R.drawable.abc_textfield_search_selected_holo_light,R.drawable.abc_ab_solid_dark_holo
			};
	private List<Map<String,Object>> list;
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_result);
		gridView=(GridView)findViewById(R.id.gv1);
	list=getResource();
	MyBaseAdapter adapter=new MyBaseAdapter();
	gridView.setAdapter(adapter);
	gridView.setOnItemClickListener (new OnItemClickListener() {
		@Override
		public void onItemClick(AdapterView<?> parent,View view,int position,long id)
		{
			Intent intent=new Intent();
			intent.putExtra("imageId",images[position]);
			setResult(Activity.RESULT_OK,intent);
			ResultActivity.this.finish();
		}
	});
	}
	
	public class MyBaseAdapter extends BaseAdapter 
	{
		@Override
		public int getCount()
		{
			Log.e("ResultActivity","getCount");
			return list.size();
		}
		@Override
		public Object getItem(int position)
		{
			Log.e("ResultActivity","getItem");
			return list.get(position);
		}
		@Override
		public long getItemId(int position)
		{
			Log.e("ResultActivity","getItemId");
			return position;
		}
		@Override
		public View getView(int position,View convertView,ViewGroup parent)
		{
			ViewHolder viewHolder=null;
			Log.e("ResultActivity","getView");
			if (convertView==null)
			{
				LayoutInflater layoutInflater=LayoutInflater.from(ResultActivity.this );
				convertView=layoutInflater.inflate(R.layout.activity_item,null);
				viewHolder=new ViewHolder();
				viewHolder.imageView=(ImageView)convertView.findViewById(R.id.iv2);
				viewHolder.textView=(TextView)convertView.findViewById(R.id.tv2);
				convertView.setTag(viewHolder);
			}
			else
			{
				viewHolder=(ViewHolder)convertView.getTag();
			}
			viewHolder.imageView.setImageResource((Integer)list.get(position).get("images"));
			viewHolder.textView.setText((CharSequence)list.get(position).get("text"));
			return convertView;
		}
	}
	static class ViewHolder
	{
		ImageView imageView;
		TextView textView;
	}
	public List<Map<String,Object>> getResource()
	{
		List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
		for (int i=0;i<images.length;i++)
		{
			Map<String,Object> map=new HashMap<String,Object>();
			map.put("images",images[i]);
			map.put("text","图--"+i);
			list.add(map);
		}
		return list;
	}
}
		
			
				
	
			
		
		
  

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧