【发布时间】:2015-06-25 20:52:37
【问题描述】:
我不明白发生了什么,我已经做了好几个小时了。我有一个带有适配器的按钮 ListView。我为按钮设置了背景,但按钮不想与 listView 的中间对齐,而是向左对齐。所有布局重力和重力设置都适用于按钮的标题文本,而不是按钮本身。无论如何我可以将背景按钮或整个按钮对齐到listView的中间吗? 这是我的相关代码
sports_list.xml
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/SportsList"
android:id="@+id/sport_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:layout_gravity="center"/>
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!--<item name="android:background">@drawable/default_background</item> -->
</style>
<style name="SportsList" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:background">@drawable/custom_button</item>
<item name="android:textSize">20dp</item>
<item name="android:textColor">#fff</item>
</style>
</resources>
activity_main.xml
<LinearLayout 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:paddingTop="15dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
tools:context=".MainActivity"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/default_background">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/choose"
android:textColor="#fff"
android:layout_gravity="center"/>
<ListView
android:id="@+id/list_view_sports"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:divider="@android:color/transparent"
android:layout_marginTop="30dp"
android:dividerHeight="30dp"
android:layout_gravity="center_horizontal" />
</LinearLayout>
也是我的 mainactivity.java 中唯一重要的部分
public static ArrayAdapter adapter;
String[] sports = {"Baseball", "Football", "Soccer"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
adapter = new ArrayAdapter(
this,
R.layout.sports_list,
R.id.sport_item,
sports);
ListView listView = (ListView) findViewById(R.id.list_view_sports);
listView.setAdapter(adapter);
}
我想使按钮居中
【问题讨论】:
-
添加
sports_list.xml -
它已经添加了。它是主要的,这就是被调用的布局
标签: java android listview button