আমি কীভাবে রেটিংবারের আকার হ্রাস করতে পারি?


129

আমার ক্রিয়াকলাপে আমার কিছু রেটিং বার রয়েছে। কিন্তু এই বারের আকারটি এত বড়! আমি কীভাবে এটি আরও ছোট করতে পারি?

সম্পাদন করা

গ্যাব্রিয়েল নেগুটকে ধন্যবাদ, আমি এটি নিম্নলিখিত শৈলীর সাহায্যে করেছি:

<RatingBar
style = "?android:attr/ratingBarStyleSmall"
android:numStars = "5"
android:rating   = "4" />

এখন, আকার হ্রাস পেয়েছে তবে তারার সংখ্যা এবং রেটিং কার্যকর হয় না !!! কেন? আমার কাছে 7 টি তারা রয়েছে যার মধ্যে 6 টি নির্বাচিত।


আপনি একটি সিকবার মানে? উচ্চতা এবং প্রস্থ নির্ধারণ করা আমার পক্ষে ভাল কাজ করে। আপনি কি এখানে আপনার কোড স্নিপেট পোস্ট করতে পারেন?
শৈলেন্দ্র সিং রাজাওয়াত

আমি "সম্পাদনা" মুছে ফেলার পরিবর্তে এটি গ্রহণযোগ্য উত্তর দেওয়ার পরামর্শ দেব would এই বা @ গ্যাব্রিয়েল নেগুট এই জাতীয় সমাধান অন্তর্ভুক্ত করতে তার উত্তর সম্পাদনা করতে পারে। প্রশ্নের ধরণের সমাধান সহ প্রশ্নোত্তর অভিজ্ঞতা থেকে দূরে সরে যায়।
ওয়ানব্রি

1
style="?android:attr/ratingBarStyleSmall"আমার জন্য কাজ কর.
মুহাম্মদ শাহজাদ

উত্তর:


163

আমি পোস্ট করা আসল লিঙ্কটি এখন ভেঙে গেছে (কেবলমাত্র লিঙ্কগুলি পোস্ট করার সর্বোত্তম উপায় না হওয়ার একটি ভাল কারণ রয়েছে)। আপনি শৈলী আছে RatingBarপারেন সঙ্গে ratingBarStyleSmallবা থেকে উত্তরাধিকার সূত্রে প্রাপ্ত একটি কাস্টম শৈলী Widget.Material.RatingBar.Small(আপনি অভিমানী আপনার অ্যাপে মেটারিয়াল ডিজাইন ব্যবহার করছেন)।

বিকল্প 1:

<RatingBar
    android:id="@+id/ratingBar"
    style="?android:attr/ratingBarStyleSmall"
    ... />

বিকল্প 2:

// styles.xml
<style name="customRatingBar"   
    parent="android:style/Widget.Material.RatingBar.Small">
    ... // Additional customizations
</style>

// layout.xml
<RatingBar
    android:id="@+id/ratingBar"
    style="@style/customRatingBar"
    ... />

21
বা এই স্টাইলের স্টাইল ব্যবহার করে = "? অ্যান্ড্রয়েড: অ্যাট্রি / রেটিংবার্স স্টাইলস্মল" আকার হ্রাস করবে।
মিগটিয়ান

1
তবে ডানদিকে একটি অকেজো অতিরিক্ত প্যাডিং রয়েছে! কীভাবে তা সরিয়ে ফেলব ?!
ডাঃ জ্যাকি

দ্রষ্টব্য: অতিরিক্ত নক্ষত্র থেকে মুক্তি পেতে প্রস্থ = "র‌্যাপ_কন্টেন্ট" করুন
hkchakladar

72

এমনকি কুৎসিত প্যাডিং ছাড়াই ছোট আকারে রেটিং বার কমাতে প্রচুর লড়াইয়ের পরেও এটি আমার সমাধান ছিল

 <RatingBar
        android:id="@+id/listitemrating"
        style="@android:attr/ratingBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleX=".5"
        android:scaleY=".5"
        android:transformPivotX="0dp"
        android:transformPivotY="0dp"
        android:isIndicator="true"
        android:max="5" />

3
অসম প্যাডিং সমস্যাটি প্রশমিত করতে ট্রান্সফর্ম পিভোটের ব্যবহার সম্পর্কিত আপনার উত্তরটি সন্ধান করতে আমি লগ ইন করেছি। ধন্যবাদ!
im 11

শেষ পর্যন্ত আর প্যাডিং নেই !!
উদয়

দুর্দান্ত উত্তর! ধন্যবাদ!
ভ্যালারিবোডাক

1
স্কেল ভাইবোন ভিউ এবং ভারসাম্যহীন মার্জিন এবং স্পেসিংয়ের প্রান্তিককরণকে বিরক্ত করে।
প্রীতেক গুপ্ত

63

আপনি যদি ছোট আকারে রেটিং বারটি দেখাতে চান তবে কেবল আপনার প্রকল্পে এই কোডটি অনুলিপি করুন এবং আটকান।

  <RatingBar
    android:id="@+id/MyRating"
    style="?android:attr/ratingBarStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/getRating"
    android:isIndicator="true"
    android:numStars="5"
    android:stepSize="0.1" />

3
অ্যান্ড্রয়েড কী: স্টেপ সাইজ = "0.1"?
দারউইন


এই পৃষ্ঠার শেষে আমার asnwer পরীক্ষা করুন।
Developine

@ হামদাতারিখসাহী এটি ভাল, এটি চালিয়ে যান, তবে আমার কোডটিতে কোনও সমস্যা আছে কি? কিছু আছে কিনা তা আমাকে জানান, দয়া করে
পীর ফাহিম শাহ

@ পীরফাহিমশাহ থানকিউ, ভাই আমি এই কোডটি যাচাই করে নিই। আপনি যদি এই পদ্ধতির অনুসরণ করেন তবে আপনি স্টাইল রেটিং বারটি উন্নত করতে পারেন।
23:56

42

আপনি এটি RatingBarব্যবহারের জন্য scaleXএবং scaleYএটি অনুসারে সামঞ্জস্য করতে এক্সএমএল কোডে সেট করতে পারেন । "০.০" হ'ল স্বাভাবিক আকার এবং ".০" এর যে কোনও কিছু এটিকে হ্রাস করবে, এছাড়াও "১.০" এর চেয়ে বড় কিছু এটি বাড়িয়ে তুলবে।

<RatingBar
  android:id="@+id/ratingBar1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:scaleX="0.5"
  android:scaleY="0.5" />

14
এর সাথে সমস্যা হ'ল রেটিংবারটি এখনও আইকনগুলি ছোট হলেও আগের মতো একই প্রস্থ এবং উচ্চতা গ্রহণ করে। প্রথম এবং শেষ আইকনগুলির পাশে বাম এবং ডান প্যাডিংয়ের একগুচ্ছ থাকায় এটি প্রান্তিককরণের সমস্যা সৃষ্টি করে। উদাহরণস্বরূপ, যদি আপনি এই "XXXXX" এর মতো আপনার আইকনগুলি চান, স্কেলিংয়ের পরে এটি দেখতে এটির মতো দেখাবে "----- XXXXX -----" যেখানে "-" খালি স্থান এবং "এক্স" একটি আইকন । সুতরাং আপনার রেটিং বারটি মনে হবে এটি খালি জায়গার কারণে ডানদিকে ঠেলাঠেলি হয়েছে
দ্যাজলার

1
অনুমান করছি আপনি আপেক্ষিক লেআউটটি ব্যবহার করছেন। এটি একটি ব্যথা তবে আপনি এটি ব্যবহার করে সঠিক অবস্থানে যেতে android:layout_marginRight পছন্দ করতে পারেন এবং পছন্দগুলি এটি পছন্দ করুন।
ZeWolfe15

4
বামদিকে প্যাডিং তৈরি না করে স্কেল পেতে অ্যান্ড্রয়েড যুক্ত করুন: ট্রান্সফর্ম পিভটেক্স = "0 ডিপি"
ডারউইন

37

নীচের স্নিপেটটি আমার জন্য রেটিংবারকে আকার পরিবর্তন করতে কাজ করেছিল

<RatingBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/ratingBar"
    style="?android:attr/ratingBarStyleIndicator"
    android:scaleX=".5"
    android:rating="3.5"
    android:scaleY=".5"
    android:transformPivotX="0dp"
    android:transformPivotY="0dp"
    android:max="5"/>

এখানে চিত্র বর্ণনা লিখুন


2
এই রেটিং বারের অর্ধেক ফিল, ফুল ফিল এবং খালি রঙের জন্য র‌্যাটিং বারের রঙ কীভাবে পরিবর্তন করবেন?
গণপত কালিয়া

রেটিং প্যারামিটারটি রেটিং বারটি পূরণ করতে ব্যবহৃত হয়? আমি অ্যান্ড্রয়েড ব্যবহার করেছি: রেটিং = "3.5" তাই 3.5 টি তারা পূর্ণ হয়। আপনি 5 টি সেট আপ করতে পারেন কারণ সর্বোচ্চ = 5 টি এক্সএমএল সেট করা আছে। : আপনি রেটিং বারের রঙ পরিবর্তন করতে চান, আপনি style.xml একটি শৈলী তৈরি করতে এই লিঙ্কটি দেখুন আছে stackoverflow.com/a/35914622/2915785
নাভিদ আহমাদ

কীভাবে অ্যান্ড্রয়েড: ট্রান্সফর্মপিভটএক্স = "0 ডিপি" অ্যান্ড্রয়েড: ট্রান্সফর্ম পিভোটওয়াই = "0 ডিপি" প্রোগ্রাম্যাটিকভাবে?
সালমান খকওয়ানি

1
@ নাভিদআহমাদ তবে ডানদিকে অকেজো প্যাডিং রয়েছে! কীভাবে তা সরিয়ে ফেলব ?!
ডাঃ জ্যাকি

@ Mr.Hyde raringbar শৈলী পরীক্ষা stackoverflow.com/a/24407907/2915785
নাভিদ আহমাদ

10

কাজের উদাহরণ

             <RatingBar
                style="@style/RatingBar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:numStars="5"
                android:rating="3.5"
                android:stepSize="0.5" />

এবং এটি আপনার শৈলীর এক্সএমএল ফাইলটিতে যুক্ত করুন

<style name="RatingBar"   
parent="android:style/Widget.Material.RatingBar.Small">
<item name="colorControlNormal">@color/primary_light</item>
<item name="colorControlActivated">@color/primary_dark</item>
</style>

এইভাবে আপনাকে রেটিংবার বারটি কাস্টমাইজ করতে হবে না।


9

আমার উত্তর এখানে দেখুন । এটি অর্জনের সেরা উপায়।

 <style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
   <item name="android:minHeight">15dp</item>
   <item name="android:maxHeight">15dp</item>
   <item name="colorControlNormal">@color/white</item>
   <item name="colorControlActivated">@color/home_add</item>
</style>

এবং মত ব্যবহার করুন

<RatingBar
    style="?android:attr/ratingBarStyleIndicator"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:isIndicator="false"
      android:max="5"
      android:rating="3"
      android:scaleX=".8"
      android:scaleY=".8"
      android:theme="@style/MyRatingBar" />

6
<RatingBar
  style="?android:attr/ratingBarStyleIndicator"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
/>

5
আপনি কীভাবে সমাধানটিতে পৌঁছেছেন তা ব্যাখ্যা করতে পারেন?
ওব্রি

এটি RatingBarপরিবর্তিত হতে দেয় না ।
55-

3

আপনি যদি ওজনসাম সহ লিনিয়ারলেআউটে রেটিং বার ব্যবহার করেন। দয়া করে নিশ্চিত হয়ে নিন যে রেটিং বারের জন্য আপনাকে লেআউট_ ওয়েট বরাদ্দ করা উচিত নয়। পরিবর্তে, place স্থান রেটিংটি আপেক্ষিক বিন্যাসের অভ্যন্তরে এবং আপেক্ষিক বিন্যাসকে ওজন দেয়। রেটিং বারের প্রস্থের মোড়কের সামগ্রী তৈরি করুন।

<RelativeLayout
    android:layout_width="0dp"
    android:layout_weight="30"
    android:layout_gravity="center"
    android:layout_height="wrap_content">
        <RatingBar
            android:id="@+id/userRating"
            style="@style/Widget.AppCompat.RatingBar.Small"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:stepSize="1" />
</RelativeLayout>

3

ব্যবহার করে Widget.AppCompat.RatingBar, আপনার ব্যবহারের জন্য 2 টি শৈলী রয়েছে; Indicatorএবং Smallযথাক্রমে বড় এবং ছোট আকারের জন্য। নীচে উদাহরণ দেখুন।

<RatingBar
    android:id="@+id/rating_star_value"
    style="@style/Widget.AppCompat.RatingBar.Small"
    ... />

2

আপনার যদি কেবল ডিফল্ট শৈলীর প্রয়োজন হয় তবে আপনার নীচের প্রস্থ / উচ্চতা রয়েছে তা নিশ্চিত করুন, অন্যথায় নাম্বারগুলি বিভ্রান্ত হতে পারে:

android:layout_width="wrap_content"
android:layout_height="wrap_content"

1
এই স্টাইলের স্টাইল ব্যবহার করে = "? অ্যান্ড্রয়েড: অ্যাটার / রেটিংবার্স স্টাইলস্মল" আকার হ্রাস করবে
মিগটিয়ান



0

যারা প্রোগ্রামিয়ালি রেটিং বার তৈরি করেছেন এবং ডিফল্ট বড় রেটিং বারের পরিবর্তে ছোট রেটিং বার সেট করতে চান তাদের জন্য

    প্রাইভেট লিনিয়ারলআউট জেনারেটরেটিংভিউ (ফ্লোট মান) {
        লিনিয়ারলআউট লিনিয়ারলআউটআউটটিং = নতুন লিনিয়ারলআউট (getContext ());
        লিনিয়ারআলআউটআরটিং.সেটলয়েআউটপ্যারামস (নতুন টেবিলরো.লয়আউটপ্যারামস (টেবিলরও.লয়আউটপ্যারামস.ম্যাচচ্যাপার্ট, টেবিলরো.লয়আউটপ্যারামস.আরপ_প্যাক্টেন্ট));
        linearLayoutRating.setGravity (Gravity.CENTER);
        রেটিংবার বার রেটিংবার = নতুন রেটিং রেটিংবার (getContext (), নাল, android.R.attr.ratingBarStyleSmall);
        (মিথ্যা) ratingBar.setEnabled;
        অর্ধ তারা সক্ষম করার জন্য রেটিংবার বার.সেটস্টেপসাইজ (ফ্লোট.পার্সফ্লোট ("0.5" ")) //
        ratingBar.setNumStars (5);
        ratingBar.setRating (মান);
        linearLayoutRating.addView (ratingBar);
        লিনিয়ারলাইটআউটরেটিং ফেরত;
    }


0
 <RatingBar     android:id="@+id/id_tv_rating_bar"
                style="@style/Widget.AppCompat.RatingBar.Small"
                android:layout_width="wrap_content"
                android:layout_height="@dimen/_20sdp"
                android:layout_marginLeft="@dimen/_80sdp"
                android:numStars="5"
                android:paddingTop="@dimen/_5sdp"
                android:rating="5" />

style="@style/Widget.AppCompat.RatingBar.Small"এটি ব্যবহার করে শিওর!


0

এটা আমার জন্য কাজ করেছে।
এই চিত্রটি পরীক্ষা করুন

            android:id="@+id/ratingBar"
            style="?android:attr/ratingBarStyleIndicator"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:numStars="5"
            android:scaleX=".8"
            android:scaleY=".8"
            android:stepSize="0.5"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.543"
            app:layout_constraintStart_toEndOf="@+id/title"
            app:layout_constraintTop_toTopOf="parent" />
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.