【发布时间】:2014-01-11 10:54:18
【问题描述】:
好的,我正在尝试回收这些帖子中给出的关于以编程方式居中图像但没有成功的建议。我的应用程序基本上可以正常工作,它由一个带有图像的微调器和它下面的一些 TextViews 组成。这些内容取决于微调器的位置。我想要的是当微调器处于其默认位置时图像居中对齐,并在选择某些内容时左对齐。布局在布局文件中定义,一个用于纵向,另一个用于横向,这是我正在努力解决的代码部分:-
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// The variable index identifies the position the spinner is in.
// TextView name, country and description... locks to the
// TextViews defined in the activity_main.xml layout files.
int index = parent.getSelectedItemPosition();
TextView name = (TextView) findViewById(R.id.name);
TextView country = (TextView) findViewById(R.id.country);
TextView description = (TextView) findViewById(R.id.description);
// Now we'll check to see if we're in the None Selected spinner
// position. If true we'll dump the name, country and
// description TextViews otherwise these will be shown.
if (index == 0) {
image.setImageResource(imgs.getResourceId(
spinner1.getSelectedItemPosition(), -1));
// Try and centre the image when none is selected
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) image
.getLayoutParams();
lp.addRule(RelativeLayout.CENTER_VERTICAL);
image.setLayoutParams(lp);
name.setVisibility(View.GONE);
country.setVisibility(View.GONE);
description.setVisibility(View.GONE);
} else {
image.setImageResource(imgs.getResourceId(
spinner1.getSelectedItemPosition(), -1));
// Try and left align the image when the spinner is NOT in
// the None Selected position.
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) image
.getLayoutParams();
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
image.setLayoutParams(lp);
name.setVisibility(View.VISIBLE);
country.setVisibility(View.VISIBLE);
description.setVisibility(View.VISIBLE);
name.setText(leaders[index]);
country.setText(states[index]);
description.setText(descrip[index]);
}
}
这是我的布局文件中的 sn-ps: activity_main.xml 纵向视图:
<ImageView
android:id="@+id/leaderPhoto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/accessability"
android:scaleType="centerInside"
android:src="@drawable/ic_world1" />
activity_in.xml 横向视图:
<ImageView
android:id="@+id/leaderPhoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="false"
android:contentDescription="@string/accessability"
android:paddingLeft="8dp"
android:scaleType="center"
android:src="@drawable/ic_world1" />
【问题讨论】:
标签: android alignment spinner center