我通过在 main.xml 文件中首先创建两个菜单项,在操作栏中手动构建了两个微调器。用线
cSpinner.setAdapter( ArrayAdapter.createFromResource( this,
R.array.category_data,
android.R.layout.simple_spinner_dropdown_item )
);
我为他们设置了阵列资源。 这些东西确实有效,但问题是,左侧微调器资源字符串太大,以至于只能看到右侧微调器的一小部分。
我已经尝试过 cSpinner.setLayoutParams(new Spinner.LayoutParams(60, 20));
或 '
ViewGroup.LayoutParams params = pView.getLayoutParams();
params.width = 100;
cspinner.setLayoutParams(params);
但是它们都不起作用。第二个甚至让程序崩溃。 您现在知道如何解决这个问题了吗?
最佳答案
为此,您必须像下面这样在 ActionBar 中添加自定义布局
代码在这里
public class MainActivity extends Activity {
final String[] choices = { "Android", "iOS", "RIM" };
private Spinner Spin1;
private Spinner Spin2;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this, android.R.layout.simple_dropdown_item_1line,
choices);
final ActionBar actionBar = getActionBar();
actionBar.setCustomView(R.layout.actionbar_item);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
Spin1 = (Spinner) findViewById(R.id.spinner1);
Spin2 = (Spinner) findViewById(R.id.spinner2);
Spin1.setAdapter(adapter);
Spin2.setAdapter(adapter);
}
}
actionbar_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="5" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="my App name"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Spinner
android:id="@+id/spinner2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
关于android - ActionBar 宽度中的两个 Spinner 菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16141824/