software - android windows




অ্যানড্রয়েড, কিভাবে লিনিয়ার এলয়েট শিশুদের মধ্যে স্থান করতে? (8)

আমি প্রোগ্রামিক্যালি একটি উল্লম্ব লিনিয়ার এলয়েউটে কাস্টম ভিউ যোগ করছি, এবং আমি মতামতের মধ্যে কিছু স্থান হতে চাই। আমি যোগ করার চেষ্টা করেছি: আমার কাস্টম ভিউ কন্সট্রকটারে সেটপ্যাডিং (0, 1, 0, 1), কিন্তু এর কোনো প্রভাব নেই বলে মনে হচ্ছে। কোন পরামর্শ?

* এটা নির্দেশ করা হয়েছে যে আমি মার্জিন ব্যবহার করা উচিত। যেহেতু আমি গতিশীলভাবে মতামত যোগ করছি, আমাকে কোড থেকে মার্জিন সেট করতে হবে (এক্সএমএল নয়)। আমি এটা করার উপায় বিশ্বাস নিচে, কিন্তু এটা কাজ করছে না।

public class MyView extends View
{
    public MyView (Context context)
    {
        super(context);

        MarginLayoutParams params = new MarginLayoutParams(LayoutParams.WRAP_CONTENT,  LayoutParams.WRAP_CONTENT);
        params.setMargins(0, 10, 0, 10);
        setLayoutParams(params);

* সম্পাদনা করুন। আমি লিনিয়ার লেআউট (নীচের হিসাবে) এ মতামত যোগ করার সময় একটি প্যারামিটার হিসাবে মার্জিন লয়আউটপার্ম ব্যবহার করেও চেষ্টা করেছিলাম। এটিও কাজ করে নি:

MarginLayoutParams params = new MarginLayoutParams(linearLayout.getLayoutParams());
linearLayout.setMargins(0, 10, 0, 10);
linearLayout.addView(view, params);

ধন্যবাদ.


API লেভেল 14 থেকে আপনি কেবল একটি (স্বচ্ছ) বিভাজক যুক্ত করতে পারেন:

android:divider="@drawable/divider"
android:showDividers="middle"

এবং এটা আপনার জন্য বাকি হ্যান্ডেল হবে!


অ্যান্ড্রয়েড এখন মতামত মধ্যে একটি Space ভিউ যোগ সমর্থন করে। এটি 4.0 আইসিএস থেকে পাওয়া যায়।


আপনি অ্যাকশনবারশহলক ব্যবহার করলে, আপনি com.actionbarsherlock.internal.widget.IcsLinearLayout ব্যবহার করতে পারেন:

<com.actionbarsherlock.internal.widget.IcsLinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:divider="@drawable/list_view_divider"
        android:dividerPadding="2dp"
        android:showDividers="middle" >
...
</com.actionbarsherlock.internal.widget.IcsLinearLayout>

আপনি পিতা-মাতার LayoutParams পেতে পারেন এবং এইভাবে পৃথক মতামতগুলিতে আবেদন করতে পারেন:

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp.setMargins(8,8,8,8);
  • SetMargins () কে int ডাটা তথ্য হিসাবে পিক্সেল নিতে হবে। তাই, মান যোগ করার আগে ডিপি রূপান্তর করুন
  • উপরে কোড wrap_content থেকে উচ্চতা এবং প্রস্থ সেট করা হবে। আপনি এটা কাস্টমাইজ করতে পারেন।

নীচের নমুনা শুধু আপনি প্রোগ্রাম্যাটিক প্রয়োজন কি না। আমি একটি নির্দিষ্ট আকার ব্যবহার করা হয়েছে (140,398)।

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(140, 398);
        layoutParams.setMargins(24, 0, 24, 0);
        layout.addView(button,layoutParams);

যদি আপনার লেআউটটিতে পাঠ্যের জন্য কিছু ধারক লেবেল থাকে। আপনি প্রতিটি পাঠ্যের শেষে যোগ করতে পারেন "\ n" একটি লাইন বিভক্ত এবং উপাদানগুলির মধ্যে স্থান তৈরি করতে।
উদাহরণ:

video?.text="Video NR1: ${obj.Titulo} \n" 

MarginLayoutParams পরিবর্তে MarginLayoutParamsMarginLayoutParams ব্যবহার করুন। Here's ডকুমেন্টেশন।


API> = 11 সমাধান:

আপনি বিভাজক মধ্যে প্যাডিং সংহত করতে পারেন। যদি আপনি কোনও ব্যবহার না করেন তবে একটি লম্বা খালি ড্রয়েবল তৈরি করুন এবং এটি LinearLayout ডিভাইডার হিসাবে সেট করুন:

    <LinearLayout
            android:showDividers="middle"
            android:divider="@drawable/empty_tall_divider"
...>...</LinearLayout>

empty_tall_divider.xml:

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <size
            android:height="40dp"
            android:width="0dp"/>
</shape>




android