Изменение размера панели действий
Пожалуйста, посмотрите на следующий код
<?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"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/xxx_title"
android:layout_width="310dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/xxx_title"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#579bef"
android:textSize="50sp" />
<EditText
android:id="@+id/search"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_gravity="right"
android:layout_marginRight="30dp"
android:ems="10"
android:hint="@string/search_hint"
android:layout_marginTop="10dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
Home.java
import android.os.Bundle;
import android.app.ActionBar;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.widget.TextView;
public class Home extends Activity {
private TextView textView23;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
//Setting up the Action Bar
ActionBar actionBar = getActionBar(); //to support lower version too
actionBar.setDisplayShowHomeEnabled(false); // Remove icon
actionBar.setDisplayShowTitleEnabled(false); // Remove title text
actionBar.setDisplayShowCustomEnabled(true);
View customView=getLayoutInflater().inflate(R.layout.window_title, null);
actionBar.setCustomView(customView);
actionBar.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
textView23 = (TextView)findViewById(R.id.textView23);
textView23.setSelected(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home, menu);
return true;
}
}
Это макет моей панели действий. Мне нужно, чтобы высота панели действий соответствовала высоте содержимого макета, поэтому я попытался добавить android:layout_height="wrap_content"
к макету. Но это ничего не изменило.
Как я могу изменить размер панели действий?
1 ответ
Это то, что я нашел в SO. Вы должны создать стиль для своего ActionBar, а затем добавить его в код.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="thin_ab" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle" >@style/thin_ab_style</item>
</style>
<style name="thin_ab_style" parent="android:Widget.Holo.ActionBar">
<item name="android:height">30dp</item>
</style>
</resources>
Затем в вашем коде добавьте это:
mContentHeight = a.getLayoutDimension(R.styleable.ActionBar_height, 0);
Кстати, если это решит вашу проблему, ваш вопрос может быть дубликатом