ฉันกำลังมองหาHolo.Light
ธีมต่างๆและดูเหมือนว่าฉันจะไม่พบรูปแบบเวทมนตร์ที่จะลบล้างเพื่อกำจัดข้อความชื่อเรื่องที่แสดงสั้น ๆ เมื่อแอปของฉันเปิดตัวครั้งแรก
ฉันจะทำเช่นนั้นได้อย่างไร?
ฉันกำลังมองหาHolo.Light
ธีมต่างๆและดูเหมือนว่าฉันจะไม่พบรูปแบบเวทมนตร์ที่จะลบล้างเพื่อกำจัดข้อความชื่อเรื่องที่แสดงสั้น ๆ เมื่อแอปของฉันเปิดตัวครั้งแรก
ฉันจะทำเช่นนั้นได้อย่างไร?
คำตอบ:
ลอง:
getActionBar().setDisplayShowTitleEnabled(false);
สำหรับ v.7:
getSupportActionBar().setDisplayShowTitleEnabled(false);
ฉันคิดว่านี่คือคำตอบที่ถูกต้อง:
<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
<item name="android:displayOptions">showHome|useLogo</item>
<item name="displayOptions">showHome|useLogo</item>
</style>
Widget.Sherlock.Light.ActionBar.Solid.Inverse
เพื่อให้มีทรัพยากรที่ไม่มีชื่อ ฉันควรใช้ผู้ปกครองอะไร
ฉันใหม่มากสำหรับ Android ดังนั้นโปรดแก้ไขฉันถ้าฉันผิด แต่ฉันคิดว่าถ้าคุณตัดสินใจที่จะใช้แท็บการนำทางบนแถบการกระทำดูเหมือนว่าพวกเขาจะไม่ถูกจัดชิดซ้ายอย่างสมบูรณ์เพราะสีข้อความของชื่อเรื่องนั้นโปร่งใสเท่านั้นและไม่มี ' t หายไป
<style name="CustomActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:displayOptions">useLogo|showHome</item>
</style>
ทำงานให้ฉัน
เข้าใจแล้ว คุณต้องลบล้าง
android:actionBarStyle
จากนั้นในรูปแบบที่คุณกำหนดเองคุณต้องลบล้าง
android:titleTextStyle
นี่คือตัวอย่าง
ใน themes.xml ของฉัน:
<style name="CustomActionBar" parent="android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>
และใน styles.xml ของฉัน:
<style name="CustomActionBarStyle" parent="android:style/Widget.Holo.ActionBar">
<item name="android:titleTextStyle">@style/NoTitleText</item>
<item name="android:subtitleTextStyle">@style/NoTitleText</item>
</style>
<style name="NoTitleText">
<item name="android:textSize">0sp</item>
<item name="android:textColor">#00000000</item>
</style>
ฉันไม่แน่ใจว่าทำไมการตั้งค่า textSize เป็นศูนย์ไม่ได้ทำเคล็ดลับ (มันหดตัวข้อความ แต่ไม่ได้ทำให้มันหายไป) แต่การตั้งค่า textColor เป็นแบบโปร่งใส
android:visibility=gone
ไม่มีผล? หรือดีกว่าเหตุใดจึงsetDisplayShowTitleEnabled
ยังคงแสดงข้อความชื่อเรื่องในขณะที่แถบกำลังโหลด
ในรายการของคุณ
<activity android:name=".ActivityHere"
android:label="">
เขียนข้อความนี้ใต้
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayShowTitleEnabled(false);
หากขยายการใช้ AppCompactActivity getSupportActionbar()
หากขยายการใช้งานกิจกรรมgetActionBar()
อื่นอาจให้
null pointer exception
การใช้ android:label=""
ในAndroidManifest.xml
กิจกรรมก็ใช้ได้เช่นกัน แต่แอปของคุณจะไม่ปรากฏในRecently used apps
คุณมีสองทางเลือก: ประการ
แรก:
getActionBar().setDisplayShowTitleEnabled(false);
หาก usign getActionBar()
สร้างข้อยกเว้นของตัวชี้ null คุณควรใช้getSupportActionBar()
Second
getSupportActionBar().setTitle("your title");
หรือ
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();
ฉันใช้รหัสนี้ในรายการแอป
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:logo="@drawable/logo2"
android:label="@string/title_text"
android:theme="@style/Theme.Zinoostyle" >
ไฟล์โลโก้ของฉันคือ 200 * 800 พิกเซลและใช้รหัสนี้ใน main activity.java
getActionBar().setDisplayShowTitleEnabled(false);
มันจะใช้งานได้จริง
ฉันลองสิ่งนี้แล้ว สิ่งนี้จะช่วย -
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ควรเรียก getSupportActionBar หลังจาก setSupportActionBar ดังนั้นการตั้งค่าแถบเครื่องมือมิฉะนั้น NullpointerException เนื่องจากไม่มีการตั้งค่าแถบเครื่องมือ หวังว่านี่จะช่วยได้
คุณสามารถเปลี่ยนรูปแบบที่ใช้กับแต่ละกิจกรรมหรือหากคุณต้องการเปลี่ยนพฤติกรรมสำหรับกิจกรรมใดกิจกรรมหนึ่งเท่านั้นคุณสามารถลองทำดังนี้
setDisplayOptions(int options, int mask) --- Set selected display
or
setDisplayOptions(int options) --- Set display options.
หากต้องการแสดงหัวเรื่องบนแถบการดำเนินการตั้งค่าตัวเลือกการแสดงใน onCreate ()
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);
เพื่อซ่อนชื่อบนแถบการดำเนินการ
getSupportActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
รายละเอียดที่นี่ .
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();
หวังว่านี่จะช่วยได้
ใช้สิ่งต่อไปนี้:
requestWindowFeature(Window.FEATURE_NO_TITLE);
หากคุณต้องการทำเพียงกิจกรรมเดียวและอาจเป็นแบบไดนามิกคุณยังสามารถใช้
ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(actionBar.getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_TITLE);
เป็นวิธีแก้ปัญหาเพียงเพิ่มบรรทัดนี้ในกรณีที่คุณมีการดำเนินการ / แถบเครื่องมือที่กำหนดเอง
this.setTitle("");
ในกิจกรรมของคุณ
แม้ว่าทั้งหมดนี้จะยอมรับได้ แต่หากกิจกรรมของคุณมีเพียงกิจกรรมหลักคุณสามารถแก้ไขได้res\values\styles.xml
ดังนี้:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
ฉันได้อัปเดตparent
และเพิ่มคุณสมบัติ. NoActionBar ให้กับธีม Light จาก Android Studios Create Blank Application
Wizard
เพียงแค่ขยายไฟล์ java ของคุณAppCompatActivity
และทำสิ่งนี้:
ActionBar actionBar = getSupportActionBar(); // support.v7
actionBar.setTitle(" ");
ในหน้า manifest.xml ของคุณคุณสามารถระบุที่อยู่ให้กับป้ายกำกับกิจกรรมของคุณได้ ที่อยู่อยู่ในค่า / strings.xml ของคุณ จากนั้นคุณสามารถเปลี่ยนค่าของแท็กในไฟล์ xml เป็น null
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title_main_activity"></string>
</resources>
ฉันยังใหม่กับ Android ดังนั้นฉันอาจจะคิดผิด ... แต่ในการแก้ปัญหานี้ทำไม่ได้เราแค่ไปที่ไฟล์ Manifest และลบป้ายกำกับกิจกรรม
<activity
android:name=".Bcft"
android:screenOrientation="portrait"
**android:label="" >**
ทำงานให้ฉัน ....
ActionBar actionBar = getActionBar();
actionBar.setTitle("");